Python2在写入txt时,报错IOError: [Errno 22] invalid mode ('a+') or filename的情况:
版本声明:python2.7
原代码:
f = open("D:\test.txt","a+")
s = ("\nhello,world!")
f.write(s)
f.close()
出现报错:
IOError: [Errno 22] invalid mode ('a+') or filename
修改后的代码:
f = open("D:\\test.txt","a+")
s = ("\nhello,world!")
f.write(s)
f.close()
成功运行,且每运行一次,就能新增一行。
【易错点总结】:
1.写入文件时,切记要加上“ f.close()”,释放文件的使用授权,否则新写入的文件写在缓存,不能更新在文件上,而就我的python2版本而言,没有括号也可以运行;
2.路径要求写双反斜杠,否则文件名无法被识别。而单引号双引号无要求。
【补充】:
w:删除原有内容,写入新建内容。
r:删除原有内容,写入新建内容。
a:在原有内容的文末,写入新建内容。
对于这三种模式,其中w和a,在没有原文件的情况下,可以自动创建对应名字的文件,r模式则不可。
至于和“+”的组合使用,则是表达使其既可以读又可以写,一般可以加上,比较方便。