python-17 檔案操作
阿新 • • 發佈:2018-12-17
利用with語句
open() write() writelines() 寫的是列表 不用手動關閉,系統自動關閉,然後釋放資源。 with open(路徑)as f f 物件的名字 自定義的名字 with open("D:\data.txt","w")as f: f.write("12334567\n") f.writelines(["abc\n","def\n"]) read() 返回一個字串 readlines() 讀取多行返回的是一個列表 readline() 讀取一行 Eg1: print(f.readline()) print(f.read()) print(f.readlines()) f.close() 結果: 12334567 abc def [] Eg2: f = open("D:\data.txt","r") print(f.readline()) print(f.readlines()) print(f.read()) f.close() 結果: 12334567 ['abc\n', 'def\n']
改正程式碼:
1.路徑前加上r 避免轉義
2.加上編碼方式
with open(r"D:\data.txt","r",encoding="utf-8")as f:
for s in f.readlines():
print(s,end=" ")
結果
12334567
abc
def
獲取系統的預設編碼
import sys
print(sys.getdefaultencoding())
結果:
utf-8
二進位制檔案讀寫
寫 模式: wb 寫的方式前面加 b with open(r"D:\data1.txt","wb")as f: f.write(b"123456\n") 讀 with open(r"D:\data1.txt","rb")as f: b =f.read() print(b) 結果: b'123456\n'
隨機檔案讀寫
模式:w+b
with open(r"D:\data1.txt","w+b")as f:
f.write(b"123456\n")
讀取:
模式 : r+b
with open(r"D:\data1.txt","r+b")as f:
b =f.read()
print(b)