我正在嘗試獲取文件中的字符數。 但是,當我在導入的txt文件上使用'len'時,它會返回位數而不是字符數。Python:文本文件中的字符數
text1=open('text1.txt','r+').read()
print len(text1)
1256664
我該如何解決這個問題?
我正在嘗試獲取文件中的字符數。 但是,當我在導入的txt文件上使用'len'時,它會返回位數而不是字符數。Python:文本文件中的字符數
text1=open('text1.txt','r+').read()
print len(text1)
1256664
我該如何解決這個問題?
如果問題是您的文件進行編碼,說,在UTF-8,那麼你應該計算之前它字符解碼:
utf8_text=open('text1.txt','r+').read()
unicode_data = utf8_text.decode('utf8')
print len(unicode_data)
這樣做不是返回位數!
with open('abc') as f:
print len(f.read())
結果4
當內容是def\n
。也許你的文本是用UTF-16/32/...編碼的,它使用多個字節作爲一個字符?請詳細說明你的問題。
向我們展示了文件內容。因爲它對我來說工作得很好。 – RanRag
我試着用一個簡單的測試文件,裏面只有'hello world \ n',它似乎可以計算字符數量(返回12)。你可以試試看看它是否有效?還可以嘗試打印'text1'來查看它是否真的是一個字符串;您可能正在以二進制模式讀取它。 – fsong
@fsong當我打印文本它不會返回字符串,你是對的,它與縮進和標籤等打印...當我看文件信息,它說尺寸:1,256,664字節 – Julia