use*_*303 0 python file-handling python-2.7
我正在使用pyton 2.7.我编写了一个脚本,当它被执行时,它将调用并运行一些名为abc.py的其他文件.但我得到错误
IOError: [Errno 22] invalid mode ('r') or filename: 'F:\x07bc.c'
Run Code Online (Sandbox Code Playgroud)
如果我更改文件名,它工作正常.它只显示错误,如果我使用从a到f的字母作为文件名的第一个字母请帮助.谢谢
考虑Python字符串'\a'.如文档中所述,反斜杠字符被解释为转义字符.所以,'\a'实际上是在ASCII字符贝尔,字符数7.
你的文件名是,'F:\abc.c'并\a在那里被解释为ASCII贝尔.您可以在解释器中清楚地看到这一点:
>>> 'F:\abc.c'
'F:\x07bc.c'
>>> print 'F:\abc.c'
F:bc.c
Run Code Online (Sandbox Code Playgroud)
当您打印该字符串时,请注意\a不显示.那是因为它已经变成了一个看不见的贝尔控制角色.
要包含反斜杠,可以使用正确的转义序列\\.把它们放在一起,你的文件名应该是:'F:\\abc.c'.作为替代方案,您可以在字符串前添加前缀r,使其成为原始字符串.这也在文档中详细说明.
>>> 'F:\\abc.c'
'F:\\abc.c'
>>> print 'F:\\abc.c'
F:\abc.c
>>> r'F:\abc.c'
'F:\\abc.c'
>>> print r'F:\abc.c'
F:\abc.c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2467 次 |
| 最近记录: |