地区:IOError:无效模式('w')或文件名
我不知道为什么,但由于某种原因,每当我有输出文件的文件名称中的“区域”,它给了我这个错误:
IOError:[Errno 22] invalid mode('w')or filename:'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'
或者原始string:
r'path\regionlog.txt'
或者至less逃避你的反斜杠:
'path\\regionlog.txt'
\r
是一个回车。
另一种select:使用os.path.join
,你根本不必担心斜杠:
output = os.path.abspath(os.path.join('path', 'regionlog.txt'))
在C标准语言中, \t
, \n
, \r
是转义字符。 \t
是下一个TAB位置的横向。 \n
是一个换行符, \r
是一个回车符。 您应该使用\\r
或/r
,并且您将解决问题!