Ⅰ python中如何將字典中的中文顯示出來
在python腳本的第一行加上#encoding=utf-8即可。
程序如下:
'''
Created on 2011-9-24
@author: legendxx
'''
#encoding=utf-8
f=file("test.txt","r")
print f.readline()
f.close
test.txt的內容只讀取第一行,可以正常列印出來中文。
Ⅱ 為什麼我在python中輸入的中文總不能顯示呢
python報錯invalid character in identifier,意思就是「標識符中的無效字元」,檢查下有沒有字元是中文的,把中文字元改成英文字元再運行就可以了。
Python的作者有意的設計限制性很強的語法,使得不好的編程習慣(例如if語句的下一行不向右縮進)都不能通過編譯。其中很重要的一項就是Python的縮進規則。
一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字元在這一行的位置來決定的(而C語言是用一對花括弧{}來明確的定出模塊的邊界的,與字元的位置毫無關系)。這一點曾經引起過爭議。
因為自從C這類的困皮語言誕生後,語言的語法含義與字元的排列方式分離開來,曾經被認為是一種程序語言的進步。不過不可否認的是,通過強制程序員們縮進(汪芹差包括if,for和函數定義等所有需要使用模塊的地方),Python確實使得程序更加清晰和美觀。
(2)python中文如何顯示擴展閱讀
Python 中文編碼:
Python中默認的編首和碼格式是 ASCII 格式,在沒修改編碼格式時無法正確列印漢字,所以在讀取中文時會報錯。
解決方法為只要在文件開頭加入# -*- coding: UTF-8 -*-或者# coding=utf-8就行了
注意:# coding=utf-8的=號兩邊不要空格。
實例:
(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
print( "你好,世界" )
輸出結果為:
你好,世界
Ⅲ Python繪圖如何顯示中文標題
採用matplotlib作圖時默認設置下是無法顯示中文的,例如編寫如下python腳本,
#-*- coding: utf-8 -*-
from pylab import *
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鍾形函數')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()
顯示出來的結果如圖1所示,可見標題、標簽都無法正常顯示中文:
圖1
實際上,matplotlib是支持unicode編碼的,出現圖1的問題主要是沒有找到合適的中文字體,在matplotlib的配置文件中,可以看到字體的默認設置如下:
#font.family : sans-serif
#font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
並沒有中文字體,所以我們只要手動添加中文字體的名稱就可以了,不過並不是添加我們熟悉的「宋體」或「黑體」這類的名稱,而是要添加字體管理器識別出的字體名稱,matplotlib自身實現的字體管理器在文件font_manager.py中,自動生成的可用字體信息在保存在文件fontList.cache里,可以搜索這個文件查看對應字體的名稱,例如simhei.ttf對應的名稱為』SimHei』,simkai.ttf對應的名稱為』KaiTi_GB2312』等。因此我們只要把這些名稱添加到配置文件中去就可以讓matplotlib顯示中文,修改的方法有兩種:
1. 直接修改配置文件matplotlibrc
在配置文件中找到font.sans-serif的設置,然後添加需要的中文字體名稱,例如:
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
2. 動態設置(推薦方式)
在python腳本中動態設置matplotlibrc,這樣不需要更改配置文件,方便靈活,例如:
mpl.rcParams['font.sans-serif'] = ['SimHei']
修改後的代碼如下:
#-*- coding: utf-8 -*-
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鍾形函數')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()
顯示出來的結果如圖2所示,可見標題、標簽都能正常顯示中文:
圖2
但是細心些可以看出圖2顯示的結果並不正確,注意對比圖1和圖2的橫坐標的坐標值,會發現圖2中負軸的橫坐標值不對,負號不見了!很明顯,這不是程序的錯誤,而是由於更改了字體導致顯示不出負號,在配置文件中我們可以在axes相關設置里找到如下設置:
#axes.unicode_minus : True
可見默認情況下採用的是unicode的minus,看來我們選擇的字體對這點支持不夠,所以只要把它設置為False就可以了,最終的代碼如下:
#-*- coding: utf-8 -*-
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鍾形函數')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()
最終顯示的結果如圖3所示,一切都正常了。
Ⅳ python怎麼顯示中文
# -*- coding:gb2312 -*-
加上這句
Ⅳ Python繪圖時如何顯示中文
Python使用matplotlib.pyplot畫圖,需要將部分標題等內容顯示為中文,但是直接輸入:
pyplot.xlabel('時間')
這時生成的圖片並不會將「時間」正常顯示出來,而如果我們需要顯示中文,有兩種方法。
方式一:示例
rcParams的屬性
相關推薦:《Python視頻教程》
方式二:(推薦使用)
示例:
中文字體種類
Ⅵ 請問,python打開中文字元文件,但顯示不出中文怎麼辦
一般是編碼格式的問題,python內部默認的編碼格式是utf-8,常見的文本編碼格式是utf-8,gbk。編碼格式不不一致就會亂碼。可以在代碼前面申明編碼格式。