一、打開文件spa
文件的三種打開模式,若是open時不指定模式,則默認以讀模式打開指針
w,寫 可是不能讀。注意用該方式打開文件後會先將文件中原來的內容清掉,再寫入指定的內容。用該模式要慎重,由於一旦打開文件,內容將被清空開始從新寫 對象
w+ ,是寫讀模式utf-8
只要有w就會清空原來的文件內容字符串
r,讀 可是不能寫,且文件必須存在it
r+,是讀寫模式,原理
只要有r,文件就必須存在 coding
a,追加,只能寫不能讀,且文件必須存在,在文件的末尾添加內容循環
a+,是讀寫模式,文件不存在打開時不會報錯,且打開時不會清空原文件中的內容方法
例如以讀模式打開一個當前目錄下的文件,並將讀到的內容打印出來
二、讀取文件的方法 f.read() ,返回的是字符串,讀取的是文件的所有內容
f = open('1.txt','r',encoding='utf-8')
print(f.read())
會輸出文件的內容
f = open('1.txt','a',encoding='utf-8')
f.write('new new new')
print(f.read())
這樣會報錯,由於a追加模式只支持寫不支持讀
二、文件指針的位置
seek()括號中爲指定文件指針要移動到哪兒的位置
由於用a+模式打開文件的時候,文件指針自動找到文件的末尾,因此用read()方法就不能讀取文件的內容,因此須要指定文件指針的位置,即爲開始讀文件內容的位置
例如
f = open('1.txt','a+',encoding='utf-8')
f.seek(0)
print(f.read())
三、readlines()也是讀取文件的方法,返回的是列表 ,讀取的是文件的所有內容
用readlines()時也須要先用seek方法將文件指針定位一下
四、readline()是隻讀一行文件內容,也須要將文件指針定位一下,每次只讀一行
五、寫文件的方法wirte(),將括號裏的內容寫到文件的末尾,括號裏是字符串
例如
f.seek(0)
f.write('zhangyizhou')
六、寫文件的方法writelines(),將括號裏列表的內容寫到文件末尾
例如
f.seek(0)
f.writelines(['ase','sfr','yiso'])
七、 文件的循環,文件是個可迭代的對象,直接循環文件對象的話循環的是文件的每一行內容
例如:
count = 0for line in f : print('第%s行是%s'%(count,line)) count+=1八、文件的修改原理,在作文件修改的操做時,都是建立一個和當前文件同樣的文件,從新寫一遍文件內容,而後將原來的文件刪除九、文件的關閉close()with的方法,不須要寫close()了