欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python2中文處理紀(jì)要的實(shí)現(xiàn)方法

 更新時(shí)間:2018年03月10日 10:02:19   作者:俺踏月色而來(lái)  
本篇文章主要介紹了Python2中文處理紀(jì)要的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

python2不是以u(píng)nicode作為基本代碼字符類(lèi)型,碰到亂碼的幾率是遠(yuǎn)遠(yuǎn)高于python3,但即便如此,相信很多人,也不想隨意的遷移到python3,這里就總結(jié)幾個(gè)我平常碰到的問(wèn)題及解法。

1、文件中無(wú)法使用中文注釋

處理方法:

在代碼中增加 # -*- coding=UTF-8 -*- ,一般加在文件頭部第一行,如果第一行是腳本標(biāo)志,則放在第二行(實(shí)際仍然是python正本的第一行)。

隨后將文件另存為UTF-8格式。

此方法可以解決注釋中有中文,及字符串立即數(shù)中包含中文的問(wèn)題。

2、unicode中文變量打印出來(lái)是亂碼

處理方法:

文件開(kāi)始引入擴(kuò)展庫(kù)的部分加入以下3行代碼。

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

3、utf-8 及 gbk互相轉(zhuǎn)換

直接看代碼:

#utf-8字符串轉(zhuǎn)換成GBK(GB2312及其它編碼也是這樣用)
print str.decode('UTF-8').encode('GBK')
#gbk轉(zhuǎn)換成utf-8
print str.decode('GBK').encode('UTF-8')

4、參數(shù)中的utf-8是用大寫(xiě)還是小寫(xiě)?

通常大小寫(xiě)都可以,這不是python決定的,是系統(tǒng)的語(yǔ)言代碼設(shè)定決定的。

5、打開(kāi)utf-8的文本文件

經(jīng)過(guò)1、2的設(shè)置,正常直接打開(kāi)就可以,文件是什么編碼,讀出來(lái)就是什么編碼,個(gè)別仍有不行的可以使用擴(kuò)展庫(kù)codecs:

import codecs
...
with codecs.open(poetry_file, "r","utf-8") as f:

6、print打印出來(lái)的結(jié)構(gòu)中的漢字是亂碼

print僅打印一個(gè)utf-8的變量是不會(huì)有問(wèn)題的,比如

a="漢字"
print a
#會(huì)正常顯示

但是如果用了接續(xù)顯示,比如:

print a,
#將會(huì)顯示亂碼

如果是其它結(jié)構(gòu),諸如dict / list / class等,都會(huì)出現(xiàn)亂碼。

a = ["中文","測(cè)試"]
print a
#將會(huì)顯示亂碼

這種情況使用基本庫(kù)沒(méi)有什么好辦法,只能循環(huán)逐個(gè)打印內(nèi)容,比如:

...
for item in items:
print item

或者整合輸出,比如: print ', '.join(a)

還可以使用第三方的包,比如:

import uniout
...
listnine = ['梨', '橘子', '蘋(píng)果', '香蕉']
print 'listnine list: %s' % listnine

7、變量本身顯示正常,循環(huán)遍歷出來(lái)的單個(gè)字符亂碼

大多情況是因?yàn)樽址皇莡nicode編碼。聲明字符串的時(shí)候使用 a = u'漢字' 這樣方式賦值的變量都是Unicode字符串,不會(huì)有問(wèn)題。

如果是從外部傳入的變量,源頭情況又不知道,可以嘗試轉(zhuǎn)換成Unicode字符串:

str=unicode(str,"utf-8");

嗯,差不多就這些,想到再補(bǔ)充。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pycharm中創(chuàng)建sql文件及模板的過(guò)程

    pycharm中創(chuàng)建sql文件及模板的過(guò)程

    很多小伙伴剛開(kāi)始使用pycharm時(shí)發(fā)現(xiàn)以前的老員工在使用pycharm創(chuàng)建sql文件時(shí)會(huì)自帶文件頭模板,例如時(shí)間、作者、版本、郵件等信息,這是怎么做到的呢,一起來(lái)看一下吧
    2022-07-07
  • Python 加密與解密小結(jié)

    Python 加密與解密小結(jié)

    這篇文章主要介紹了Python 加密與解密,使用base64或pycrypto模塊需要的朋友可以參考下
    2018-12-12
  • Python pandas對(duì)excel的操作實(shí)現(xiàn)示例

    Python pandas對(duì)excel的操作實(shí)現(xiàn)示例

    這篇文章主要介紹了Python pandas對(duì)excel的操作實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 利用Python爬取可用的代理IP

    利用Python爬取可用的代理IP

    我們平時(shí)在用Python爬蟲(chóng)時(shí),有時(shí)會(huì)要用到IP代理。網(wǎng)上有很多的免費(fèi)代理IP網(wǎng)站,但不是所有的ip都能用,所以這篇文章教大家如何爬取可用的代理IP。
    2016-08-08
  • python opencv旋轉(zhuǎn)圖像(保持圖像不被裁減)

    python opencv旋轉(zhuǎn)圖像(保持圖像不被裁減)

    這篇文章主要為大家詳細(xì)介紹了python opencv旋轉(zhuǎn)圖像,保持圖像不被裁減,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python用模塊pytz來(lái)轉(zhuǎn)換時(shí)區(qū)

    Python用模塊pytz來(lái)轉(zhuǎn)換時(shí)區(qū)

    在Python中,與時(shí)間相關(guān)的庫(kù)有好些,可以幫助我們快速的處理與時(shí)間相關(guān)的需求和問(wèn)題。這里想和大家分享一下如何在Python用模塊pytz來(lái)轉(zhuǎn)換時(shí)區(qū)。
    2016-08-08
  • Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷(xiāo)功能

    Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷(xiāo)功能

    這篇文章主要介紹了Django實(shí)現(xiàn)auth模塊下的登錄注冊(cè)與注銷(xiāo)功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Python批量修改文本文件內(nèi)容的方法

    Python批量修改文本文件內(nèi)容的方法

    這篇文章主要介紹了Python批量修改文本文件內(nèi)容的方法的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • python編程項(xiàng)目中線上問(wèn)題排查與解決

    python編程項(xiàng)目中線上問(wèn)題排查與解決

    因?yàn)闃I(yè)務(wù)上的設(shè)計(jì)存在問(wèn)題,導(dǎo)致數(shù)據(jù)庫(kù)表總是被鎖,而且是不定期的鎖定,導(dǎo)致服務(wù)器運(yùn)行異常,今天就來(lái)跟大家說(shuō)說(shuō)該如何避免這種問(wèn)題
    2021-11-11
  • Django模型驗(yàn)證器介紹與源碼分析

    Django模型驗(yàn)證器介紹與源碼分析

    這篇文章主要給大家介紹了關(guān)于Django模型驗(yàn)證器與源碼分析的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論