无法使用Python 2.7打开带重音的文件[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我尝试读取目录中的所有文件,但由于它们包含空格和重音符号,我收到错误(已经在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()”不兼容

问候

我怎样才能解决这个问题 ?

python python-2.7 filenames diacritics
1个回答
0
投票

我现在这样做:

files = [y for x in os.walk(u'.') for y in glob(os.path.join(x[0], '*.'+extension))]

注意使用u'.'而不是"."

© www.soinside.com 2019 - 2024. All rights reserved.