當前位置:首頁 » 編程語言 » python3write中文

python3write中文

發布時間: 2022-05-23 06:52:12

1. python3 中文輸出亂碼問題

python 3和2很大區別就是python本身改為默認用unicode編碼。
字元串不再區分"abc"和u"abc", 字元串"abc"默認就是unicode,不再代表本地編碼、
由於有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如「sys.setdefaultencoding」;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。

另一個問題是語言環境內只有unicode怎麼輸出gbk之類的本地編碼。

答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如

file.write("GBK的中文".encode("GBK"))

python環境內字元串用str.encode("GBK")方法輸出成位元組串用於和其他環境交流。

2. python用xlwt向xls中寫入中文,顯示亂碼該怎麼解決

亂碼是編碼問題,微軟的excel默認打開的編碼是gbk,如果你寫入的數據是非gbk編碼的,那麼使用微軟excel打開就會出現亂碼的情況。解決方法為:對要寫入的數據編碼為gbk之後在進行寫入,在python中的簡單的操作方法如下:

1.源數據為unicode編碼,則直接使用encode("gbk")即可轉換編碼;

str=u"我愛中國共產黨"#unicode編碼的字元串
des_str=str.encode("gbk")#轉換為gbk編碼

2.源數據不是unicode編碼,那麼必須先使用decode函數解碼為unicode編碼,在按照第一種情況轉換為gbk編碼。

str=u"我愛中國共產黨"#unicode編碼的字元串
src_str=str.encode("utf-8")#源數據格式utf-8
des_str=str.decode("utf-8").encode("gbk")#轉換為gbk編碼

注意:encode和decode方法為字元串的方法,不能應用與列表等其他類型的數據上

3. python 列表寫入文件時怎麼變成中文

list1=[u'u96f7u519b',u'u9eceu4e07u5f3a',u'u6d2au950b',u'u5218u5fb7',u'u96f7u519b',u'u6797u658c',u'u5218u82b9',u'u8bb8u8fbeu6765',u'u96f7u519b',u'u9eceu4e07u5f3a']

importcodecs

f=codecs.open('list1.txt','w','utf-16')
foriinlist1:
i=i+''
f.write(i,)

f.close()


4. Python3處理中文字元報錯

write()中的參數必須是字元串 codecs.BOM_UTF8是位元組

5. python3用write()寫txt文件,txt文件沒變化

漏了 f.close()

write 是有buffer的,不close不會自動flush到磁碟。

6. 用python怎麼想一個文件中寫入一個中文字元

用python3的話很簡單就可以了

withopen('d:\abc.txt','w')asfw:
fw.write('中文')

這樣就可以了

7. python怎麼中文寫txt文件

本文以txt 文本為例,只是介紹ANSI,Unicode,UTF-8 三種編碼的文件的讀寫過程,對於編碼不做深究了

一、用記事本另存為時,可以選擇保存文本使用的的幾種編碼模式,分別為:

  • ANSI:默認保存的編碼格式,採用本地操作系統默認的內碼,簡體中文一般為GB2312。

  • Unicode:UTF-16的小端位元組序,加上BOM簽名:0xFFFE。

  • Unicode bigendian:Unicode編碼:UTF-16的大端位元組序,加上BOM簽名:0xFEFF。

  • UTF-8:編碼格式是:UTF-8,其BOM為0xEF BB BF(UTF-8不區分位元組序,這個BOM僅標志UTF-8編碼)

  • Python對於讀取的txt文件,最好在讀取的時候進行decode成unicode編碼,

  • def read_out(self): with codecs.open(self.filename, 'r+') as get: return get.read().decode('gbk')


  • 然後再寫入的時候進行encode成對應想要的編碼類型,這樣可以保證源文件的編碼方式不會改變,且中文不會亂碼

    整個代碼過程保持使用unicode編碼方式利用try…except 來進行編碼判別具體使用了那種編碼方式

  • f.write(self.filename.encode('gbk'))

  • 二、對於raw_input 通過鍵盤輸入的文字,通過sys模塊中的stdin.encodeing來進行解碼

  • content = raw_input().decode(sys.stdin.encoding)

  • type(content) 是unicode
  • 暫時這么多

8. python3.3中文亂碼與默認編碼格式設定。

我這邊輸出沒有什麼問題。

下面是輸出:
i = 1
s['statuses'][0]['text'] = 出軌是男人的天性,防小三是女人一生的戰役。
s['statuses'][1]['text'] = 漂亮女孩有時候比普通女孩更可憐。男人可以很坦然的拒絕普通女孩的感情和身體,但是男人會欺騙漂亮女孩的感情從而得到她的身體。這就是為什麼古人說紅顏命薄,你們感受一下。
s['statuses'][2]['text'] = 留幾手教你如何利用空閑時間學習
。。。
i = 2
s['statuses'][20]['text'] = 罵人,其實內容並不重要,一個小蘿莉,滿嘴臟話,也嚇不住人。
。。。
i = 3
s['statuses'][40]['text'] = 我不就是在你家住的時候吃了幾只燒雞沒給你錢么?至於這么編排我么?這情節都是你在哪本言情小說里扒出來的吧?
後面省略了。 前提就是這個樣子的

9. 怎麼解決Python3亂碼問題

python 3和2很大區別就是python本身改為默認用unicode編碼。
字元串不再區分"abc"和u"abc", 字元串"abc"默認就是unicode,不再代表本地編碼、
由於有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如逗sys.setdefaultencoding地;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。

另一個問題是語言環境內只有unicode怎麼輸出gbk之類的本地編碼。

答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如

file.write("GBK的中文".encode("GBK"))

python環境內字元串用str.encode("GBK")方法輸出成位元組串用於和其他環境交流。

10. 求教python在文件中寫入中文需要的兩個參數是做什麼的

encoding是文件編碼,默認的一般是ansi,如果不指定的話,打開就有可能看到亂碼。
ensure_ascii是json序列化的一個特性,是為了方便傳輸,避免編碼問題(也就是上面的encoding),可用把unicode字元轉碼為ascii字元,這樣就不需要指定encoding了。但是導致的問題就是肉眼看不出中文內容(和亂碼有本質區別),ensure_ascii=False的意思就是對中文不做轉碼處理,原樣輸出到json

熱點內容
java培訓價錢 發布:2025-02-13 17:59:33 瀏覽:974
c語言中變數類型 發布:2025-02-13 17:52:20 瀏覽:258
ftp導出報錯 發布:2025-02-13 17:41:20 瀏覽:997
腳本下載教程 發布:2025-02-13 17:39:06 瀏覽:235
解壓密碼re 發布:2025-02-13 17:39:02 瀏覽:558
linuxdump內存 發布:2025-02-13 17:37:30 瀏覽:57
游戲客戶端源碼 發布:2025-02-13 17:37:19 瀏覽:594
win7打開文件夾聲音 發布:2025-02-13 17:35:03 瀏覽:606
用php做計算 發布:2025-02-13 17:27:43 瀏覽:447
老編程軟體 發布:2025-02-13 17:27:43 瀏覽:768