2024-10-01 09:32:32 发布
网友
我用的是Pyton2.7。我写了一个脚本,当它被执行时,它会调用并运行其他文件的名称abc.py公司. 但我错了
IOError: [Errno 22] invalid mode ('r') or filename: 'F:\x07bc.c'
如果我更改文件名,它可以正常工作。 只有当我使用从a到f的字母作为文件名的第一个字母时,才会显示错误 请帮忙。 谢谢你
用另一个反斜杠转义\,如下所示:
\
print 'F:\\x07bc.c'
试试这个:
open(r'F:\abc.c')
即在引号前加r。在
r
更新抱歉,我误解了代码(尽管我的解决方案是正确的)。@DavidHeffernan是对的,\a被读作ASCII-bell。在
\a
考虑Python字符串'\a'。如documentation中所述,反斜杠字符被解释为转义字符。因此'\a'实际上是ASCII贝尔字符,字符编号7。在
'\a'
您的文件名是'F:\abc.c',其中的\a被解释为ASCII-Bell。您可以在解释程序中清楚地看到这一点:
'F:\abc.c'
>>> 'F:\abc.c' 'F:\x07bc.c' >>> print 'F:\abc.c' F:bc.c
打印该字符串时请注意,\a不会出现。这是因为它已经变成了一个隐形的铃铛控制字符。在
要包含反斜杠,可以使用正确的转义序列\\。把它们放在一起,你的文件名应该是:'F:\\abc.c'。作为替代方法,您可以在字符串前面加上r,使其成为原始字符串。这在documentation中也有详细说明。在
\\
'F:\\abc.c'
用另一个反斜杠转义
\
,如下所示:试试这个:
即在引号前加
r
。在更新抱歉,我误解了代码(尽管我的解决方案是正确的)。@DavidHeffernan是对的,
\a
被读作ASCII-bell。在考虑Python字符串
'\a'
。如documentation中所述,反斜杠字符被解释为转义字符。因此'\a'
实际上是ASCII贝尔字符,字符编号7。在您的文件名是
'F:\abc.c'
,其中的\a
被解释为ASCII-Bell。您可以在解释程序中清楚地看到这一点:打印该字符串时请注意,
\a
不会出现。这是因为它已经变成了一个隐形的铃铛控制字符。在要包含反斜杠,可以使用正确的转义序列
^{pr2}$\\
。把它们放在一起,你的文件名应该是:'F:\\abc.c'
。作为替代方法,您可以在字符串前面加上r
,使其成为原始字符串。这在documentation中也有详细说明。在相关问题 更多 >
编程相关推荐