真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python函數(shù)uni Python函數(shù)形參不需要聲明類型

python 比較好用的庫(kù)有哪些

Python常用庫(kù)大全,看看有沒有你需要的。

創(chuàng)新互聯(lián)建站長(zhǎng)期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為東遼企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),東遼網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

環(huán)境管理

管理 Python 版本和環(huán)境的工具

p – 非常簡(jiǎn)單的交互式 python 版本管理工具。

pyenv – 簡(jiǎn)單的 Python 版本管理工具。

Vex – 可以在虛擬環(huán)境中執(zhí)行命令。

virtualenv – 創(chuàng)建獨(dú)立 Python 環(huán)境的工具。

virtualenvwrapper- virtualenv 的一組擴(kuò)展。

包管理

管理包和依賴的工具。

pip – Python 包和依賴關(guān)系管理工具。

pip-tools – 保證 Python 包依賴關(guān)系更新的一組工具。

conda – 跨平臺(tái),Python 二進(jìn)制包管理工具。

Curdling – 管理 Python 包的命令行工具。

wheel – Python 分發(fā)的新標(biāo)準(zhǔn),意在取代 eggs。

包倉(cāng)庫(kù)

本地 PyPI 倉(cāng)庫(kù)服務(wù)和代理。

warehouse – 下一代 PyPI。

Warehousebandersnatch – PyPA 提供的 PyPI 鏡像工具。

devpi – PyPI 服務(wù)和打包/測(cè)試/分發(fā)工具。

localshop – 本地 PyPI 服務(wù)(自定義包并且自動(dòng)對(duì) PyPI 鏡像)。

分發(fā)

打包為可執(zhí)行文件以便分發(fā)。

PyInstaller – 將 Python 程序轉(zhuǎn)換成獨(dú)立的執(zhí)行文件(跨平臺(tái))。

dh-virtualenv – 構(gòu)建并將 virtualenv 虛擬環(huán)境作為一個(gè) Debian 包來(lái)發(fā)布。

Nuitka – 將腳本、模塊、包編譯成可執(zhí)行文件或擴(kuò)展模塊。

py2app – 將 Python 腳本變?yōu)楠?dú)立軟件包(Mac OS X)。

py2exe – 將 Python 腳本變?yōu)楠?dú)立軟件包(Windows)。

pynsist – 一個(gè)用來(lái)創(chuàng)建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。

構(gòu)建工具

將源碼編譯成軟件。

buildout – 一個(gè)構(gòu)建系統(tǒng),從多個(gè)組件來(lái)創(chuàng)建,組裝和部署應(yīng)用。

BitBake – 針對(duì)嵌入式 Linux 的類似 make 的構(gòu)建工具。

fabricate – 對(duì)任何語(yǔ)言自動(dòng)找到依賴關(guān)系的構(gòu)建工具。

PlatformIO – 多平臺(tái)命令行構(gòu)建工具。

PyBuilder – 純 Python 實(shí)現(xiàn)的持續(xù)化構(gòu)建工具。

SCons – 軟件構(gòu)建工具。

交互式解析器

交互式 Python 解析器。

IPython – 功能豐富的工具,非常有效的使用交互式 Python。

bpython- 界面豐富的 Python 解析器。

ptpython – 高級(jí)交互式Python解析器, 構(gòu)建于python-prompt-toolkit 之上。

文件

文件管理和 MIME(多用途的網(wǎng)際郵件擴(kuò)充協(xié)議)類型檢測(cè)。

imghdr – (Python 標(biāo)準(zhǔn)庫(kù))檢測(cè)圖片類型。

mimetypes – (Python 標(biāo)準(zhǔn)庫(kù))將文件名映射為 MIME 類型。

path.py – 對(duì) os.path 進(jìn)行封裝的模塊。

pathlib – (Python3.4+ 標(biāo)準(zhǔn)庫(kù))跨平臺(tái)的、面向?qū)ο蟮穆窂讲僮鲙?kù)。

python-magic- 文件類型檢測(cè)的第三方庫(kù) libmagic 的 Python 接口。

Unipath- 用面向?qū)ο蟮姆绞讲僮魑募湍夸?/p>

watchdog – 管理文件系統(tǒng)事件的 API 和 shell 工具

日期和時(shí)間

操作日期和時(shí)間的類庫(kù)。

arrow- 更好的 Python 日期時(shí)間操作類庫(kù)。

Chronyk – Python 3 的類庫(kù),用于解析手寫格式的時(shí)間和日期。

dateutil – Python datetime 模塊的擴(kuò)展。

delorean- 解決 Python 中有關(guān)日期處理的棘手問題的庫(kù)。

moment – 一個(gè)用來(lái)處理時(shí)間和日期的Python庫(kù)。靈感來(lái)自于Moment.js。

PyTime – 一個(gè)簡(jiǎn)單易用的Python模塊,用于通過字符串來(lái)操作日期/時(shí)間。

pytz – 現(xiàn)代以及歷史版本的世界時(shí)區(qū)定義。將時(shí)區(qū)數(shù)據(jù)庫(kù)引入Python。

when.py – 提供用戶友好的函數(shù)來(lái)幫助用戶進(jìn)行常用的日期和時(shí)間操作。

文本處理

用于解析和操作文本的庫(kù)。

通用

chardet – 字符編碼檢測(cè)器,兼容 Python2 和 Python3。

difflib – (Python 標(biāo)準(zhǔn)庫(kù))幫助我們進(jìn)行差異化比較。

ftfy – 讓Unicode文本更完整更連貫。

fuzzywuzzy – 模糊字符串匹配。

Levenshtein – 快速計(jì)算編輯距離以及字符串的相似度。

pangu.py – 在中日韓語(yǔ)字符和數(shù)字字母之間添加空格。

pyfiglet -figlet 的 Python實(shí)現(xiàn)。

shortuuid – 一個(gè)生成器庫(kù),用以生成簡(jiǎn)潔的,明白的,URL 安全的 UUID。

unidecode – Unicode 文本的 ASCII 轉(zhuǎn)換形式 。

uniout – 打印可讀的字符,而不是轉(zhuǎn)義的字符串。

xpinyin – 一個(gè)用于把漢字轉(zhuǎn)換為拼音的庫(kù)。

python語(yǔ)言中的如何輸入編號(hào)叫什么

Python 默認(rèn)腳本文件都是 ANSCII 編碼的,當(dāng)文件 中有非 ANSCII 編碼范圍內(nèi)的字符的時(shí)候就要使用"編碼指示"來(lái)修正。 一個(gè)module的定義中,如果.py文件中包含中文字符(嚴(yán)格的說是含有非anscii字符),則需要在第一行或第二行指定編碼聲明:

# -*- coding=utf-8 -*-或者 #coding=utf-8 其他的編碼如:gbk、gb2312也可以; 否則會(huì)出現(xiàn)類似:SyntaxError: Non-ASCII character '/xe4' in file ChineseTest.py on line 1, but no encoding declared; see for details這樣的異常信息;n.org/peps/pep-0263.html

命令查看腳本默認(rèn)的編碼方式

import sys

sys.getdefaultencoding()

'ascii'

2.2 python中的編碼與解碼

先說一下python中的字符串類型,在python中有兩種字符串類型,分別是str和unicode,他們都是basestring的派生類;str類型是一個(gè)包含Characters represent (at least) 8-bit bytes的序列;unicode的每個(gè)unit是一個(gè)unicode obj;所以:

len(u'中國(guó)')的值是2;len('ab')的值也是2;

在str的文檔中有這樣的一句話:The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file. 也就是說在讀取一個(gè)文件的內(nèi)容,或者從網(wǎng)絡(luò)上讀取到內(nèi)容時(shí),保持的對(duì)象為str類型;如果想把一個(gè)str轉(zhuǎn)換成特定編碼類型,需要把str轉(zhuǎn)為Unicode,然后從unicode轉(zhuǎn)為特定的編碼類型如:utf-8、gb2312等;

2.2.1 print 語(yǔ)句解釋編碼問題

print 是打印默認(rèn)的編碼方式,相當(dāng)于對(duì)任何對(duì)象encode編碼轉(zhuǎn)化成str對(duì)象。默認(rèn)是gbk的編碼就是對(duì)Unicode進(jìn)行自動(dòng)的gbk編碼,再按照gbk編碼輸出。

當(dāng)print語(yǔ)句碰到一個(gè)unicode目標(biāo)的時(shí)候,會(huì)用當(dāng)前python shell環(huán)境的默認(rèn)編碼格式首先對(duì)unicode對(duì)象進(jìn)行encode(此時(shí)unicode對(duì)象已經(jīng)變成了一個(gè)str對(duì)象了),然后再以默認(rèn)編碼格式為基礎(chǔ),根據(jù)其包含的漢字和編碼的對(duì)應(yīng)規(guī)則,把這個(gè)str對(duì)象解釋成中文并顯示出來(lái)。但是當(dāng)print語(yǔ)句碰到的直接是個(gè)str目標(biāo)的時(shí)候,就不管其從unicode轉(zhuǎn)到str時(shí)用的編碼格式是什么,直接用默認(rèn)編碼格式的對(duì)應(yīng)規(guī)則來(lái)解釋成中文。所以,當(dāng)unicode對(duì)象轉(zhuǎn)換成str時(shí)的編碼格式和print語(yǔ)句的默認(rèn)編碼格式不一致的時(shí)候就會(huì)出現(xiàn)亂碼現(xiàn)象。比如在cmd的python shell里面:

復(fù)制代碼

復(fù)制代碼

證明Python 系統(tǒng)默認(rèn)編碼gbk

s= '你好'

s

'\xc4\xe3\xba\xc3'

s = u'你好'

s

u'\xc4\xe3\xba\xc3'

s = '你好'

s

'\xc4\xe3\xba\xc3'

print type(s)

type 'str'

unicode 編碼打印錯(cuò)誤,print 解析字符串而不是Unicode 編碼

s = u'你好'

print s

??o?

uni = u'你好' #存入一個(gè)unicode對(duì)象

print uni

你好 #可以正常顯示 相當(dāng)于Unicode.encode(gbk)

uni.encode("gbk")

'\xc4\xe3\xba\xc3' #顯示的是個(gè)str對(duì)象了,如果type(uni.encode("gbk"))得到的就是str對(duì)象

print uni.encode("gbk")

你好 #可以正常顯示,因?yàn)樵赾md下的pythonshell里默認(rèn)個(gè)編碼格式就是gbk,gbk解析

uni.encode("utf-8")

'\xe4\xbd\xa0\xe5\xa5\xbd' #可以看到,encode用的編碼格式不同,編成的字符串也是不同的

print uni.encode("utf-8")

浣犲ソ #亂碼,因?yàn)橛昧薵bk中漢字和字符串編碼格式對(duì)應(yīng)規(guī)則去解釋了用utf-8編碼成的字符串。解釋的編碼格式不對(duì)應(yīng)。

#######さらに######

print '\xc4\xe3' #自己寫出來(lái)的這么個(gè)字符串(前面不加r)的話也會(huì)被print解釋成中文,按照編碼格式輸出

print uni.encode("utf-8").decode("gbk")

浣犲ソ

'''

亂碼,而且和上面的亂碼一樣,這是因?yàn)?,在uni被utf-8 encode之后,這個(gè)對(duì)象變成了str對(duì)象,是'\xe4\xbd\xa0\xe5\xa5\xbd' 這個(gè)。

后來(lái),它又被按照gbk的規(guī)則解碼,又變回了unicode,但是此時(shí)它在內(nèi)存里的二進(jìn)制數(shù)據(jù)已經(jīng)和最初的uni不一樣了。

最初的uni,應(yīng)該是'\xc4\xe3\xba\xc3'.decode("gbk"),而現(xiàn)在的這個(gè)東西,他decode之前的字符串已經(jīng)變過了。

這么一個(gè)東西再拿去print,又把它編碼成了gbk格式,相當(dāng)于前面那步decode沒有做,變回了'\xe4\xbd\xa0\xe5\xa5\xbd'。

再解釋成漢字,當(dāng)然就和最開始用uni編碼成utf-8格式再解釋成漢字的亂碼一樣了

'''

復(fù)制代碼

2.2.2 腳本print 打印的正確方式

上面已經(jīng)證明了系統(tǒng)的默認(rèn)編碼方式是gbk,就是print 最后正確的編碼方式應(yīng)該是gbk

兩種解決編碼不匹配的情況:

一是明確的指示出 s 的編碼方式

# -*- coding: utf-8 -*-

s = '中文'

s.decode('utf-8').encode('gb2312')

二是更改 sys.defaultencoding 為文件的編碼方式

#! /usr/bin/env python

# -*- coding: utf-8 -*-

import sys

reload(sys) # Python2.5 初始化后會(huì)刪除 sys.setdefaultencoding 這個(gè)方法,我們需要重新載入

sys.setdefaultencoding('utf-8')

str = '中文'

str.encode('gb2312')

三、實(shí)踐經(jīng)驗(yàn)中爬取數(shù)據(jù)的獲得

復(fù)制代碼

# -*- coding: utf-8 -*-

'''

#加油兩個(gè)字可以很好的比較編碼正確和錯(cuò)誤

#### 錯(cuò)誤的處理方式,

s = "中文"

print s

#這里print就不是輸出gbk的編碼,是按照頭文件utf-8的格式輸出

# 結(jié)果:中文

print s.decode('utf-8')

#結(jié)果中文,s進(jìn)行解碼稱為Unicode,print打印就和系統(tǒng)print打印一樣自動(dòng)將Unicode進(jìn)行

#解碼,不用encode編碼也能輸出,但是最好轉(zhuǎn)化成為字符串輸出。

上面實(shí)例就是錯(cuò)誤使用編碼,錯(cuò)誤使用編碼會(huì)出現(xiàn)個(gè)別字體的亂碼。

'''

'''

要點(diǎn)1、聲明頭文件# -*- coding: utf-8 -*- 說明所有的代碼和中文是utf-8的編碼方式

要點(diǎn)2、print輸出函數(shù)輸出到前臺(tái)cmd中的默認(rèn)系統(tǒng)編碼方式是GBK,

要點(diǎn)3、盡量將Unicode轉(zhuǎn)化成為字符串str (gbk或者utf-8),再去處理。

#unicode 轉(zhuǎn)化成為字符串

s = u'加油'

print s

#結(jié)果:加油。原因:系統(tǒng)自動(dòng)將Unicode升級(jí)gbk編碼成為字符串,然后系統(tǒng)print 打印gbk

print s.encode('utf-8')

#結(jié)果:鍔犳補(bǔ)。錯(cuò)誤原因:Unicode 編碼成為utf-8的字符串形式,但是print打印系統(tǒng)是gbk的,編碼沖突。

print s.encode('gbk')

#結(jié)果:加油。原因:和print s等價(jià),認(rèn)為編碼了gbk,系統(tǒng)打印

ss = "加油"

print ss

#結(jié)果:鍔犳補(bǔ)。原因:ss為utf-8的字符串str,print 打印的對(duì)應(yīng)編碼字符串是gbk的,所以編碼沖突。

print ss.decode('utf-8').encode('gbk')

#結(jié)果:加油。原因:ss首先從字符串編碼utf-8解碼成為unicode,然后進(jìn)行編碼gbk,等價(jià)使用print ss.decode('utf-8')。

'''

'''

3.1python中關(guān)于中文轉(zhuǎn)換url編碼的問題

爬蟲的時(shí)候我們經(jīng)常會(huì)碰到中文鏈接編碼出現(xiàn)變換的問題,

例如'麗江'中文在url的地址編碼卻是'%E4%B8%BD%E6%B1%9F',

因此需 要做一個(gè)轉(zhuǎn)換。這里我們就用到了模塊urllib。

'''

import urllib

data = '麗江'

print data.decode('utf-8').encode('gbk')

#對(duì)utf-8的中文編碼

print urllib.quote(data)

#那我們想轉(zhuǎn)回去呢?

print urllib.unquote('%E4%B8%BD%E6%B1%9F').decode('utf-8').encode('gbk')

'''

'麗江'在網(wǎng)頁(yè)編碼是gbk的轉(zhuǎn)換碼是'%C0%F6%BD%AD',utf-8中的轉(zhuǎn)化碼是'%E4%B8%BD%E6%B1%9F',其實(shí)是編碼問題。

百度的是gbk,其他的一般網(wǎng)站比如google就是utf8的。所以可以用下列語(yǔ)句實(shí)現(xiàn)。

'''

#江蘇課題的編碼轉(zhuǎn)化

import sys,urllib

s = '江蘇'

print urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))

print urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))

for place in ['南京','無(wú)錫','徐州','常州','蘇州','鹽城','南通','連云港','淮安','鹽城','揚(yáng)州']:

print urllib.quote(place)

####################

#結(jié)果:

'''

麗江

%E4%B8%BD%E6%B1%9F

麗江

%E4%B8%BD%E6%B1%9F

%E6%B6%93%E8%8A%A5%E7%9D%99

'''

Python 常用的標(biāo)準(zhǔn)庫(kù)以及第三方庫(kù)有哪些

參考:知乎

Python 常用的標(biāo)準(zhǔn)庫(kù)以及第三方庫(kù)

standard libs:

itertools

functools 學(xué)好python有必要掌握上面這兩個(gè)庫(kù)吧,

re 正則

subprocess 調(diào)用shell命令的神器

pdb 調(diào)試

traceback 調(diào)試

pprint 漂亮的輸出

logging 日志

threading和multiprocessing 多線程

urllib/urllib2/httplib http庫(kù),httplib底層一點(diǎn),推薦第三方的庫(kù)requests

os/sys 系統(tǒng),環(huán)境相關(guān)

Queue 隊(duì)列

pickle/cPickle 序列化工具

hashlib md5, sha等hash算法

cvs

json/simplejson python的json庫(kù),據(jù)so上的討論和benchmark,simplejson的性能要高于json

timeit 計(jì)算代碼運(yùn)行的時(shí)間等等

cProfile python性能測(cè)量模塊

glob 類似與listfile,可以用來(lái)查找文件

atexit 有一個(gè)注冊(cè)函數(shù),可用于正好在腳本退出運(yùn)行前執(zhí)行一些代碼

dis python 反匯編,當(dāng)對(duì)某條語(yǔ)句不理解原理時(shí),可以用dis.dis 函數(shù)來(lái)查看代碼對(duì)應(yīng)的python 解釋器指令等等。

3th libs:

paramiko ssh python 庫(kù)

selenium 瀏覽器自動(dòng)化測(cè)試工具selenium的python 接口

lxml python 解析html,xml 的神器

mechanize Stateful programmatic web browsing

pycurl cURL library module for Python

Fabric Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.

xmltodict xml 轉(zhuǎn) dict,真心好用

urllib3 和 requests: 當(dāng)然其實(shí)requests就夠了 Requests: HTTP for Humans

flask web 微框架

ipdb 調(diào)試神器,同時(shí)推薦ipython!結(jié)合ipython使用

redis redis python接口

pymongo mongodbpython接口

PIL python圖像處理

mako python模版引擎

numpy , scipy 科學(xué)計(jì)算

matplotlib 畫圖

scrapy 爬蟲

django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服務(wù)器

sh 1.08 — sh v1.08 documentation 用來(lái)運(yùn)行shell 模塊的 極佳選擇

python unicode編碼

python unicode編碼:

下面的代碼創(chuàng)建了一個(gè)Unicode字符串,用UTF-8編碼器將它編碼,然后寫入到一個(gè)文件中去,接著把數(shù)據(jù)從文件中讀回來(lái),解碼成Unicode字符串對(duì)象,最后,打印出Unicode字符串,用以確認(rèn)程序正確地運(yùn)行。

在Linux中編寫,在VIM中輸入如下代碼,保存為uniFile.py

#?/home/xiaopeng/python/code/uniFile.py

'''

An?example?of?reading?and?writing?Unicode?strings:Writes

a?Unicode?string?to?a?file?in?utf-8?and?reads?it?back?in

'''

CODEC?=?'utf-8'?編碼方式

FILE?=?'unicode.txt'?要存的文件名

hello_out?=?u"Hello?world\n"?創(chuàng)建了一個(gè)Unicode格式的字符串

bytes_out?=?hello_out.encode(CODEC)?用UTF-8編碼

f?=?open(FILE,'w')

f.write(bytes_out)?寫入指定文件中

f.close()

f?=?open(FILE,'r')

bytes_in?=?f.read()?讀取

f.close()

hello_in?=?bytes_in.decode(CODEC)?解碼

print?hello_in?打印

在終端中輸入:python uniFile.py

結(jié)果打印出 Hello world

然后在python目錄下會(huì)發(fā)現(xiàn)多了一個(gè)名為unicode.txt的文件,用cat命令查看一下,發(fā)現(xiàn)里面的內(nèi)容和打印的結(jié)果一樣.

把Unicode應(yīng)用到實(shí)際中注意一下四點(diǎn):

1?程序中出現(xiàn)字符串時(shí)一定要加一個(gè)前綴u

2?不要用str()函數(shù),用Unicode()代替

3 不要用過時(shí)的string模塊。如果傳給它非ASCII碼,它會(huì)把一切搞砸。

4 不到必須時(shí)不要在你的程序里編解碼Unicode字符,只在你要寫入文件或者數(shù)據(jù)庫(kù)或者網(wǎng)絡(luò)時(shí),才調(diào)用encode()函數(shù)和decode()函數(shù)。

python中如何引入uniout

sudo是獲取權(quán)限的,在linux中使用,windows你cmd直接pip install就可以了,權(quán)限不夠也可以使用管理員打開,但是它實(shí)際上是因?yàn)樘囟ǖ奈募A具有權(quán)限。


文章標(biāo)題:python函數(shù)uni Python函數(shù)形參不需要聲明類型
瀏覽路徑:http://weahome.cn/article/hhihsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部