读取驱动器中的文件名时出错

时间:2017-02-17 17:16:56

标签: python-3.x python-module

我编写了一个Python程序,应该做一些简单明了的事情:读取C盘中的所有文件并创建一个只包含文件名称的电子表格(我打算让程序以后更复杂,到目前为止,我刚刚进入第一阶段。

我不时遇到的问题是,当程序正在扫描C盘时,遇到一些文件名(通常在Temp文件夹中),由于某种原因,它们似乎使用的是一个奇怪的角色。程序无法识别,我收到有关CP1252的错误。

问题是:我的程序在我最初使用的计算机(我的工作计算机)中运行良好,但是当我在家里试用它时失败了。我的工作计算机使用Windows 7 32位,我的家用计算机使用Windows 10 64位,但我认为该问题与操作系统无关。

import os
import csv

counter=0

wrkdir=os.getcwd()
logdir=wrkdir+"\\Logs"
resultfile=wrkdir+"/Logs/Report.csv"
with open(resultfile, 'w', newline='') as csvfile:
    reportwriter=csv.writer(csvfile)
    cdrive=("C:\\")
    for dirName, subdirList, fileList in os.walk(cdrive):
        path=str(dirName)
        for fname in fileList:
            name=str(fname)
            fullname=path+"\\"+fname
            reportwriter.writerow([fullname])
            counter=counter+1
            reportwriter.writerow(["Total number of files in C:/ ->",counter])
print ("Report created, "+str(counter)+" files detected.")

有谁知道如何让程序在任何计算机(至少是运行Windows的计算机)中都能正常运行?

我得到的错误往往是这样的:

UnicodeEncodeError:'charmap'编解码器不能编码位置224-225中的字符:字符映射到

0 个答案:

没有答案