区域:IO错误:[Errno 22]无效模式('w')或文件名
问题内容:
我不确定为什么,但是由于某种原因,每当我在输出文件的文件名中包含“ region”时,就会出现此错误:
IOError:[Errno 22]无效模式(’w’)或文件名:’path \ regionlog.txt’
它针对 “ region.txt” , “ logregion.txt” 等执行此操作
class writeTo:
def __init__(self, stdout, name):
self.stdout = stdout
self.log = file(name, 'w') #here is where it says the error occurs
output = os.path.abspath('path\regionlog.txt')
writer = writeTo(sys.stdout, output) #and here too
为什么是这样?我真的很想将我的文件命名为“ regionlog.txt”,但它总是会提示该错误。有办法解决吗?
问题答案:
使用正斜杠:
'path/regionlog.txt'
或原始字符串:
r'path\regionlog.txt'
或至少逃脱您的反斜杠:
'path\\regionlog.txt'
\r
是回车。
另一个选择:使用os.path.join
,您完全不必担心斜线:
output = os.path.abspath(os.path.join('path', 'regionlog.txt'))