如果在文件名中使用字母a到f,则出现错误“无效文件名”

2024-10-01 09:32:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是Pyton2.7。我写了一个脚本,当它被执行时,它会调用并运行其他文件的名称abc.py公司. 但我错了

IOError: [Errno 22] invalid mode ('r') or filename: 'F:\x07bc.c'

如果我更改文件名,它可以正常工作。 只有当我使用从a到f的字母作为文件名的第一个字母时,才会显示错误 请帮忙。 谢谢你


Tags: or文件py脚本名称文件名mode字母
3条回答

用另一个反斜杠转义\,如下所示:

print 'F:\\x07bc.c'

试试这个:

open(r'F:\abc.c')

即在引号前加r。在

更新抱歉,我误解了代码(尽管我的解决方案是正确的)。@DavidHeffernan是对的,\a被读作ASCII-bell。在

考虑Python字符串'\a'。如documentation中所述,反斜杠字符被解释为转义字符。因此'\a'实际上是ASCII贝尔字符,字符编号7。在

您的文件名是'F:\abc.c',其中的\a被解释为ASCII-Bell。您可以在解释程序中清楚地看到这一点:

>>> 'F:\abc.c'
'F:\x07bc.c'
>>> print 'F:\abc.c'
F:bc.c

打印该字符串时请注意,\a不会出现。这是因为它已经变成了一个隐形的铃铛控制字符。在

要包含反斜杠,可以使用正确的转义序列\\。把它们放在一起,你的文件名应该是:'F:\\abc.c'。作为替代方法,您可以在字符串前面加上r,使其成为原始字符串。这在documentation中也有详细说明。在

^{pr2}$

相关问题 更多 >