这个问题在这里已有答案:
我尝试读取目录中的所有文件,但由于它们包含空格和重音符号,我收到错误(已经在SO上阅读了很多帖子,但找不到任何答案)
这将返回一个文件列表
files = [y for x in os.walk(".") for y in glob(os.path.join(x[0], '*.pdf'))]
但是当我试图逐一打开它们时
for file in files:
with open(file,"r") as f:
我遇到了这些错误(我对这些字母进行了混淆,因为它是保密的):
IOError: [Errno 22] invalid mode ('r') or filename: '.\abcd?efgh (hijk? lmnop).pdf'
我认为问题是由重音引起的,但由于它是python,它给我文件名,我不明白为什么它们与“open()”不兼容
问候
我怎样才能解决这个问题 ?
我现在这样做:
files = [y for x in os.walk(u'.') for y in glob(os.path.join(x[0], '*.'+extension))]
注意使用u'.'
而不是"."