这是一次学习过程中的问题记录。
r 就是直接打开已存在的文件,不存在会报错
w 就是打开文件,文件如果不存在,就会新建一个文件
r打开不存在的文件:
## *******************************文件读写模式:r *********************************
f = open(unicode(r"C:\测试\22222样.txt", "utf8"), "r")
str1 = f.read()
print str1
f.close()s()
r+ 是打开一个可读写的文件,文件必须存在,而且在读之后,需要加一句:f.seek(),不然会报错
结果:
正确的操作应该为:
## *******************************文件读写模式:r+ *********************************
f = open(unicode(r"C:\测试\2样.txt", "utf8"), 'r+')
str1 = f.read()
print str1
f.seek(0,0)
f.write("this is seek(0)")
# f.flush()
f.close()
当然,如果你是直接写入,没有read这个操作,那么就没有问题,不需加f.seek()
## *******************************文件读写模式:r+ *********************************
f = open(unicode(r"C:\测试\2样.txt", "utf8"), 'r+')
f.write("zhi jie xie ru")
f.close()
w+ 如果先写入,会将原内容抹去(这其实和w一样),再读的时候要注意加个f.seek()。如果先读取,会读取不到内容(因为用的是w+,会先抹去文件里面的内容),直接就写入了。
原文件:
直接先写入:
## *******************************文件读写模式:w+ *********************************
f = open(unicode(r"C:\测试\2样.txt", "utf8"), 'w+')
f.write("***")
f.seek(0)
print f.read()
f.close()