我正在遍历文件夹并收集文档名称和其他一些数据,以便加载到数据库中。
并且
我尝试过以下方法:
这些名称可以成功粘贴到文件中,为什么Python无法将它们写入文件呢?
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无法将它们写入文件呢?