我通過文件夾遞歸併收集文檔名稱和一些其他要加載到數據庫中的數據。如何將外部編碼字符寫入文本文件
import os
text_file = open("Output.txt", "w")
dirName = 'D:\\'
for nextDir, subDir, fileList in os.walk(dirName):
for fname in fileList:
text_file.write(fname + '\n')
的問題是,一些文件名稱有外文字符,如:
RC-0964_1000 Tưởng thưởng Diamond trẻ nhất Việt Nam - Đặng Việt Thắng và Trần Thu Phương
而且
RC-1046 安麗2013ARTISTRY冰上雅姿盛典-愛裏歐娜.薩維琴科_羅賓.索爾科維【Suit & Tie】.mp4
而且上面的代碼讓我在最後一行此錯誤:
UnicodeEncodeError: 'charmap' codec can't encode characters at positions ##-##:character maps to (undefined)
我試過了到
temp = fname.endcode(utf-8)
temp = fname.decode(utf-8)
temp = fname.encode('ascii','ignore') temp2 = temp.decode('ascii')
temp =unicode(fname).encode('utf8')
我怎麼能寫這個劇本寫的所有字符的文件?我是否需要更改正在寫入的文件或我正在寫入的字符串,以及如何操作?
這些名字可以成功地粘貼到文件中,爲什麼Python不會將它們寫入?
您使用的是哪個版本的Python? – Rockybilly
我使用的是版本3.4 –
[Python:將Unicode文本寫入文本文件?]的可能重複(http://stackoverflow.com/questions/6048085/python-write-unicode-text-to-a-text-文件) – roeland