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