我不知道为什么,但出于某种原因,每当我在输出文件的文件名中有"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“,但它总是出现这个错误。有没有办法绕过它?
发布于 2013-03-01 01:24:54
使用正斜杠:
'path/regionlog.txt'
或原始字符串:
r'path\regionlog.txt'
或者至少转义你的反斜杠:
'path\\regionlog.txt'
\r
是回车。
另一种选择是:使用os.path.join
,你就完全不用担心斜杠了:
output = os.path.abspath(os.path.join('path', 'regionlog.txt'))
发布于 2017-03-14 19:29:42
在C标准语言中,\t
、\n
、\r
都是转义字符。\t
是下一个制表符位置的横向位置。\n
是换行符,\r
是回车符。你应该使用\\r
或/r
,你将会解决这个问题!
发布于 2017-11-21 21:20:42
此外,Python在试图从SharePoint共享驱动器打开一个大于50MB的文件时也会显示此消息。
https://stackoverflow.com/questions/15141761
复制相似问题