地区: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 ,并且您将解决问题!