r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件¶javascript
经常使用读写模式¶css
如:'rb','wb','r+b'等等¶html
读写模式的类型有:¶html5
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)¶java
w 以写方式打开,¶python
a 以追加模式打开 (从 EOF 开始, 必要时建立新文件)¶jquery
r+ 以读写模式打开¶linux
w+ 以读写模式打开¶android
a+ 以读写模式打开¶css3
rb 以二进制读模式打开¶
wb 以二进制写模式打开¶
ab 以二进制追加模式打开¶
rb+ 以二进制读写模式打开¶
wb+ 以二进制读写模式打开¶
ab+ 以二进制读写模式打开¶
W 若文件存在,首先要清空,而后从新建立文件¶
a 把全部的数据追加到文件的尾部,即便seek指在其余的位置,若是文件不存在,则从新建立¶
import os
os.mkdir("./data")#若是有同名的文件夹则会报错,必须在建立新的文件夹
OP=open('./data/tang.txt','w')
OP.write("hello python\n tang yu di\n jin tian qi bu cuo\n")
OP.close()
%%writefile tang.txt
hello python
tang yu di
jin tian qi bu cuo
txt=open('./tang.txt')
txt_read=txt.read()
print(txt_read)
txt=open('./tang.txt')#打开一次只能读一次
lines=txt.readlines()#lines把每句话变成一个元素再组成一句话,\n表示回车
print(type(lines)) print(lines)
for line in lines:
print('cur_line:',line)
txt.close()
txt=open('tang_write.txt','w')#w模式再次执行会覆盖以前数据
txt.write('jin tian qi bu cuo\n') txt.write('ma ru jiao\n') txt.close()
txt=open('tang_write.txt','a')#a是追加模式不覆盖
txt.write('123\n') txt.write('456\n') txt.close()
txt1=open('tang_write.txt','w')
for i in range(5):
txt1.write(str(i)+'\n')
txt1.close() #写入数据写完后必定要close否则会写入失败
txt2=open('tang_write.txt','r')
print(txt2.read())
txt=open('tang_write.txt','w')
try:
for i in range(100):
10/(i-50)
txt.write(str(i)+'\n')
except Exception:
print('error:',i)
finally:
txt.close()
with open('tang_write.txt','w')as f:
f.write('jin tian qi bu cuo ')#用 with open()as 变量名 就能够不用close,它会自动close