w
,r
, wt
, rt
都是 python 里面文件操作的模式,区别和含义如下所示:
-
w
表示write
是写模式,r
表示read
是读模式。 -
t
表示text
是 windows 平台特有的所谓 text mode(文本模式),区别在于会自动识别 windows 平台的换行符。
类 Unix 平台的换行符是 \n,而 windows 平台用的是 \r\n 两个 ASCII 字符来表示换行,python 内部采用的是 \n 来表示换行符。
-
rt
模式下,python 在读取文本时会自动把 \r\n 转换成 \n。 -
wt
模式下,python 写文件时会用 \r\n 来表示换行。
基本格式为
with open('[file_path]','[mode]') as file_point:
file_point.write('some string') # 文件写入操作
text = file_point.read() # 返回字符串类型
实例
# 文件写入操作
with open('test.txt','wt') as file_write:
file_write.write('这是一行测试代码\n你能看到吗?\n只有read()才能看到我哦')
# 文件读取操作
with open('test.txt','rt') as file_read:
text1 = file_read.readline() # readline()读取一行
with open('test.txt','rt') as file_read:
text2 = file_read.read() # read()读取所有文件
print('text1\n',text1)
print('text2\n',text2)
运行结果
text1
这是一行测试代码
text2
这是一行测试代码
你能看到吗?
只有read()才能看到我哦
Process finished with exit code 0
特别注意:在 Windows 下,文件路径前需要加 r
取消 \ 转义,例如
with open(r'C:\Users\Administrator\Desktop\test.txt','wt') as fileout:
fileout.write("写一行中文试试\n")
with open(r'C:\Users\Administrator\Desktop\test.txt','rt') as filein:
print(filein.readline())