新的python,并寻求一些帮助,我有一个问题,与os.walk。我仔细观察了一下,找不到解决问题的正确办法。
代码的作用:扫描选择HD或文件夹的用户,并返回所有文件名、子目录和大小。然后在熊猫中进行操作(而不是在下面的代码中),并以我想要的格式导出到excel电子表格中。
但是,在代码的第一部分Python2.7中,我目前遇到了以下错误:
WindowsError:错误123文件名、目录名或卷标签语法不正确:'E:\03. Work\Bre\Files\folder2 2\图标灰度flatten._Icon_18?10不锈钢Steel.psd‘
我已经探索过使用原始字符串(r'),但没有结果。也许我写错了。
我要注意的是,我从来没有在3.5或清洁标签的选定文件夹。由于Pandas和pysinstaller存在3.5的问题,我希望继续使用2.7,直到3.5的错误得到解决为止。
import pandas as pd
import xlsxwriter
import os
from io import StringIO
#Lists for Pandas Dataframes
fpath = []
fname = []
fext = []
sizec = []
# START #Select file directory to scan
filed = raw_input("\nSelect a directory to scan: ")
#Scan the Hard-Drive and add to lists for Pandas DataFrames
print "\nGetting details..."
for root, dirs, files in os.walk(filed):
for filename in files:
f = os.path.abspath(root) #File path
fpath.append(f)
fname.append(filename) #File name
s = os.path.splitext(filename)[1] #File extension
s = str(s)
fext.append(s)
p = os.path.join(root, filename) #File size
si = os.stat(p).st_size
sizec.append(si)
print "\nDone!"
如能提供任何帮助,将不胜感激:)
发布于 2015-12-20 06:44:10
为了使用unicode字符遍历文件名,您需要给os.walk一个unicode路径名。
路径包含一个unicode字符,该字符在异常中显示为?
。
如果您传入unicode路径,就像这个os.walk(unicode(filed))
一样,您不应该得到这个异常。
正如在Convert python filenames to unicode中所指出的,如果路径由Python2“不可解码”,有时您将得到一个字节串。
https://stackoverflow.com/questions/34378444
复制相似问题