澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:标准库和第三方库,Pyth

2019-05-03 作者:www.8455.com   |   浏览(86)

被人为智能捧红的 Python 已是一种发展宏观且至极三种化的语言,当中必然有一部分您未曾意识的功能。本文只怕能够令你学到一些新才具。

澳门新萄京官方网站 1

本文来源 自身的博客。博客的篇章保持更新,此文或许不是流行气象。

Python 编码

  1. a = u'ab'
    b = "ab"
    怎么互转?
  2. unicode声明
# -*- coding: utf-8 -*-
  1. join unicode

  2. 用chardet检查实验编码格式

Python 标准库和第1方库

Python 是社会风气上最盛行、火爆的编制程序语言之1,原因大多,比方:

Python是社会风气上最受接待,最流行的编制程序语言之壹。那有不少缘故:

下载、解压 python 源代码

从 python.org 下载。

Python编码

urllib2

文档:

  • http://zhuoqiang.me/python-urllib2-usage.html
  • https://docs.python.org/2/library/urllib2.html
  • 容易学习
  • 超高的通用性
  • 具备大量模块和库

它很容命理术数习

导入交叉编写翻译 patch

参考自 python-2.7-001-support-for-build.patch,2.7.11的修改地方有稍许扭转,详见如下 patch。

Python 即使采用 autoconf,不过实际代码中早已包括 configure 文件,由此下文代码给出的是修改 configure.ac 并执行 autoconf 后变动的 configure 文件。

patch 的施用方法,在 python 源代码根目录下实施:

patch -p1 < ../0001-cross-compile.patch

python 二.7.1一 交叉编写翻译 patch:

diff --git a/Makefile.pre.in b/Makefile.pre.in
index ee73edd..730db7e 100644
--- a/Makefile.pre.in
    b/Makefile.pre.in
@@ -237,7  237,8 @@ LIBFFI_INCLUDEDIR=  @LIBFFI_INCLUDEDIR@

 ##########################################################################
 # Parser
-PGEN=      Parser/pgen$(EXE)
 BUILDPGEN=     Parser/pgen$(EXE)
 PGEN_FOR_BUILD=    @PGEN_FOR_BUILD@

 PSRCS=     
        Parser/acceler.c 
@@ -635,14  636,14 @@ Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule

 $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS)
        @$(MKDIR_P) Include
-       $(MAKE) $(PGEN)
-       $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
        $(MAKE) $(BUILDPGEN)
        $(PGEN_FOR_BUILD) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
 $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS)
        $(MAKE) $(GRAMMAR_H)
        touch $(GRAMMAR_C)

-$(PGEN):   $(PGENOBJS)
-       $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
 $(BUILDPGEN):  $(PGENOBJS)
        $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(BUILDPGEN)

 Parser/grammar.o:  $(srcdir)/Parser/grammar.c 
                $(srcdir)/Include/token.h 
diff --git a/configure b/configure
index 7dab897..bf16c0e 100755
--- a/configure
    b/configure
@@ -734,6  734,7 @@ UNIVERSALSDK
 CONFIG_ARGS
 SOVERSION
 VERSION
 PGEN_FOR_BUILD
 PYTHON_FOR_BUILD
 host_os
 host_vendor
@@ -2911,6  2912,13 @@ else
 fi


 if test "$cross_compiling" = yes; then
     PGEN_FOR_BUILD="${PGEN_FOR_BUILD}"
 else
     PGEN_FOR_BUILD='$(BUILDPGEN)'
 fi
 
 

 if test "$prefix" != "/"; then
     prefix=`echo "$prefix" | sed -e 's//$//g'`
@@ -6334,6  6342,12 @@ fi


 # Enable PGO flags.
 
 
 
 
 
 
 # Extract the first word of "llvm-profdata", so it can be a program name with args.
 set dummy llvm-profdata; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-- 
1.9.1

类型

python-requests

http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

正文将分享部分运用 Python 的手艺,顺序遵照 A-Z 排列。

它是一流多用途的

创建 build 目录

在 python 源代码下创办 build-pcbuild-mips 目录,分别用于编写翻译 PC pgen(交叉编写翻译时用到)与接力编写翻译 mips python。该目录做 configure、make、make install,编写翻译时用于保存一时半刻变化的文书,保险 python 源代码干净。

python的函数性子

  1. map

BeautifulSoup

简要介绍: 从HTML或XML文件中提取数额,解析网页数据,可用作爬虫

文档: https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

 1.all or any

Python 深受迎接的原委之一是其可读性和表明性。

人们还平常把 Python 笑称为「可进行伪码(executable pseudocode)」。可是,当您能够编写制定那样的代码时,很难去争论这种争论:

x = [True, True, False]
if any(x):
    print("At least one True")
if all(x):
    print("Not one False")
if any(x) and not all(x):
    print("At least one True and one False")

  

它有雅量的模块和库

编写翻译当地 Python 与 pgen

用以生成 grammar 所需求文件用。

cd build-pc

../configure CC=gcc CXX=g   AR=ar RANLIB=ranlib LDFLAGS="-L/usr/lib -L/usr/lib64 -L/usr/local/lib -L/usr/local/lib64" CFLAGS="-I/usr/include -I/usr/local/include"

make python Parser/pgen

pyquery

https://pypi.python.org/pypi/pyquery
api : http://pyquery.readthedocs.org/en/latest/api.html

TypeError: Type 'unicode' cannot be serialized.

给两个list,一个是word list, 一个是prefix list return 所有的word that have the prefix 例子: word list = [“a", "abc", "dz", "dda], prefix list = ["ab", "dd"] return ["abc", "dda"]

Python干货精选 http://baoz.me/446252
当本人说作者会Python时,实际上小编会了什么样?

splinter

简要介绍: 模拟浏览器操作网页行为

文档: https://splinter.readthedocs.org/en/latest/

 2.bashplotlib

想在调整桃园绘图吗?

$ pip install bashplotlib

 

行使方面的行,就能够在调整新北绘图。

 

用作数据化学家的自己,每Smart用Python是本身内在劳作的1局地。在那几个进度中,作者学会了一些管用的工夫和经验。

配置

遍历目录

os.walk

import os,sys
for root, dirs, files in os.walk("."):
for f in files:
fullpath = "%s/%s" % (root, f)
if fullpath.endswith("java"):
print fullpath
#os.system("dos2unix "   fullpath)
temp = fullpath[:-1]
#command = "expand -t 4 "   fullpath   " > "   temp
command = "rm -rf "   fullpath
command = "sed -i 's/ *$//' "   fullpath
#print command
os.system(command)

paramiko

简单介绍: ssh操作模块

文档:

  • http://www.paramiko.org/
  • https://github.com/paramiko/paramiko/
  • http://www.361way.com/python-paramiko-ssh/3984.html

3.collections

Python 有局地很棒的暗中同意数据类型,但有时候它们大概不会尽如你意。

只是,Python 标准库提供了 collections 模块。那个便利的叠加组件可感到您提供越来越大多据类型。

collections 模块:https://docs.python.org/3/library/collections.html

from collections import OrderedDict, Counter
# Remembers the order the keys are added!
x = OrderedDict(a=1, b=2, c=3)
# Counts the frequency of each character
y = Counter("Hello World!")

   

在此处,小编尝试以A~Z顺序共享当中某些。

布置交叉编写翻译境况变量

比如 CC、CFLAGS、LDFLAGS 等。

性能:

High Performance Python: Practical Performant Programming for Humans

cookielib

简介: 保存cookie

文档:

  • https://docs.python.org/2/library/cookielib.html
  • http://cuiqingcai.com/968.html
  • https://blog.phpgao.com/python-cookielib.html

4.dir

你是还是不是想过哪些查看 Python 对象内部及其具备什么等属性?

输入以下命令行:

>>> dir()
>>> dir("Hello World")
>>> dir(dir)

当以交互格局运维 Python 时,那或许是一个更加有效的功力,并且能够动态地探讨你正在使用的目的和模块。

想要明白越多,点这里:https://docs.python.org/3/library/functions.html#dir

 

好多那个“技能”是小编在一般职业中使用或偶尔开采的政工。一些是自家在浏览Python标准库文书档案时意识的。此外一些是透过PyPi搜索到的。

configure 配置

布局命令如下:
configure 的 prefix 只援救相对路线。

cd build-mips

../configure --host=mips64-octeon-linux-gnu --build=x86_64-linux-gnu --prefix=/home/sunyongfeng/python-install --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ac_cv_have_long_long_format=yes PGEN_FOR_BUILD=../build-pc/Parse/pgen

问题:

  • --enable-FEATURE,不晓得有怎样 features ,怎么安顿;
  • --enable-PACKAGE,不明了有哪些 package,怎么布局。

安顿完了之后,在 Modules 目录会生成 Setup 文件。x86的暗中同意编写翻译会编写翻译到必须的模块,而 mips6四 的接力编写翻译多数模块未有编写翻译下,如 socket 等。修改 Modules/Setup 文件,定制想编写翻译的停放模块。以下是基础模块,近日还不清楚若是不想内置的话要如何编写翻译。
定制内置模块,参见那篇博文 《定制 Python 嵌入 C : (肆) 定制 Python 内建立模型块》,讲述各类内置模块的功能。

# Modules that should always be present (non UNIX dependent):                                       

array arraymodule.c # array objects                                                                 
cmath cmathmodule.c _math.c # -lm # complex math library functions                                  
math mathmodule.c _math.c # -lm # math library functions, e.g. sin()                                
_struct _struct.c   # binary structure packing/unpacking                                            
time timemodule.c # -lm # time operations and variables                                             
operator operator.c # operator.add() and similar goodies                                            
_testcapi _testcapimodule.c    # Python C API test module                                           
_random _randommodule.c # Random number generator                                                   
_collections _collectionsmodule.c # Container types                                                 
_heapq _heapqmodule.c       # Heapq type                                                            
itertools itertoolsmodule.c # Functions creating iterators for efficient looping                    
strop stropmodule.c     # String manipulations                                                      
_functools _functoolsmodule.c   # Tools for working with functions and callable objects             
_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c  # elementtree accelerator
#_pickle _pickle.c  # pickle accelerator                                                            
datetime datetimemodule.c   # date/time type                                                        
_bisect _bisectmodule.c # Bisection algorithms                                                      

unicodedata unicodedata.c    # static Unicode character database

profile:

七 个度量 Python 脚本和调整内部存款和储蓄器以及 CPU 使用率的技术

random

5.emoji

毋庸置疑,真的有。请点击这里:https://pypi.org/project/emoji/

$ pip install emoji

 

别认为本人不知底你会偷偷试它→→

from emoji import emojize
print(emojize(":thumbs_up:"))

本文由澳门新萄京官方网站发布于www.8455.com,转载请注明出处:澳门新萄京官方网站:标准库和第三方库,Pyth

关键词: