Python之文件讀取操作---第十二天

1、對文件的操作:
只讀、只寫、只追加、其他混合

2、讀取文件操作:
(1)先將要讀取的文件放在同一目錄下
(2)打開文件操作
(3)讀取文件操作
(4)打印文件內容操作
(5)關閉操作
注意:
(1)open的默認編碼形式是gbk的,如果有中文需要寫成“utf-8”
(2)文件沒有修改操作,只有覆蓋

f=open("111",encoding="utf-8")
data=f.read()
print(data)
f.close()

3、一行一行讀取文件內容

f=open("111","r",encoding="utf-8")
print("第1行",f.readline(),end="")
print("第2行",f.readline())

#輸出結果:
第1行 啦啦啦
第211111

4、所用內容變成一行讀取

f=open("111","r",encoding="utf-8")
print(f.readlines())
f.close()

#輸出結果:
['啦啦啦\n', '11111\n', '22222\n', '33333']

5、文件的寫模式

  • 如果文件存在,則會將文件清空掉
  • 如果文件不存在,會直接創建一個新的文件
  • 寫入文件裏的必須是字符串格式的,否則報錯
  • 寫文件內容,默認爲一行顯示,需要手動換行,還可以直接上傳列表形式
f=open("111","w",encoding="utf-8")
f.write("11111\n")
f.write("22222\n")
f.writelines(["555\n","666\n"])
f.close()

#查看111文件內容:
11111
22222
555
666

6、文件的追加模式(在文件尾部追加一行)

f=open("111","a",encoding="utf-8")
f.write("new_add")
f.close()

7、想修改文件,可以這樣解決
(1)先讀取文件
(2)寫文件,取只保留的部分
(3)文件名不變,相當於重寫覆蓋

f1=open("111","r",encoding="utf-8")
content=f1.readlines()
f1.close()

f2=open("111","w",encoding="utf-8")
f2.write(content[3])
f2.close()

#結果:
只取111文件中的第四行內容

8、經常忘記用file.close()操作怎麼辦?
使用with open() as f 操作

with open("111.text","w") as f:
    f.write()

注意:和上面一樣,沒有該文件會新建一個,有的話直接覆蓋修改

9、b模式不能使用編碼方式

10、字符串轉換成二進制:
bytes(x,encoding=utf-8),也可以直接用x.encode(“utf-8”)

11、readlines()默認爲一行顯示,後面只有/n,其實在windows平臺應該有/r/n,只是python默認將/r去掉了,如果在open裏面加上newline=" ",則會打印出/r/n

12、flush()刷新文件

13、tell()查看光標位置

14、seek(a)移動到第a個字節的光標位置

  • seek()的相對位置seek(a,1),不填寫默認爲0,1的情況下文件模式必須帶有b模式,否則報錯
  • seek(-a,2)從文件末尾開始倒着移動光標位置,所以a爲負數,但是讀取還是正着讀的
    注意:read讀取光標的單位是字符,其他的讀取的都是字節

15、truncate(a)截取文件a個字符,需要在有寫模式下才可以執行

16、W+是清空原文件內容了,一般不用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章