open 是python的內建函式,open底層呼叫的是作業系統的介面
f1:就是個變數,專業名詞:檔案控制代碼。一般命名f1,fh,file_handler,f_h等等,對檔案進行任何操作,都要通過檔案控制代碼。
encoding='' 可以不寫,如果不寫的話,預設編碼本就是作業系統的預設編碼
windows:gbk
linux:utf-8
mac:utf-8
mode='' 開啟方式,r唯讀,w寫入,a追加……
f1.close() 關閉檔案控制代碼
f1 = open(r'd:\temp\day8test1.txt', encoding='utf-8', mode='r')
content = f1.read()
print(content)
f1.close()
# 1.全部讀出來
f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', )
context = f1.read()
print(context)
f1.close()
# 2.按照字元讀取
f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', )
context = f1.read(3)
print(context)
f1.close()
# 3.按照行讀取
f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', )
context = f1.readline()
print(context)
f1.close()
# 4.多行讀取 # 返回乙個列表,列表中的每乙個元素是原始檔中的每一行
f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', )
l1 = f1.readlines()
print(l1)
f1.close()
# 5.for迴圈讀取(檔案控制代碼可以遍歷)
f1 = open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8', )
for line in f1:
print(line)
f2 = open(r'd:\temp\timg.jfif', 'rb')
pic = f2.read()
print(pic)
f2.close()
# 如果沒有這個檔案,則建立這個檔案
f = open(r'd:\temp\day8test2.txt', 'w', encoding='utf-8')
f.write('現在學習檔案的寫')
f.close()
# 如果檔案存在,就先清空,再寫入新內容
f = open(r'd:\temp\day8test2.txt', 'w', encoding='utf-8')
f.write('重新寫一點')
f.close()
# 二進位制寫入
f1 = open(r'd:\temp\timg.jfif', 'rb')
pic = f1.read()
print(pic)
f1.close()
f2 = open(r'd:\temp\美女.jfif', 'wb')
f2.write(pic)
f2.close()
# 沒有檔案先建立檔案再追加
f = open(r'd:\temp\day8test2.txt', 'a', encoding='utf-8')
f.write("adfslkdjflskdjf")
f.close()
# r+ 讀並追加
f = open(r'd:\temp\day8test2.txt', 'r+', encoding='utf-8')
content = f.read()
print(content)
f.write('我好煩')
# tell() 讀取游標所在的位置,單位(位元組)
f = open(r'd:\temp\day8test2.txt', 'r', encoding='utf-8')
print(f.tell())
content = f.read()
print(f.tell())
f.close()
# seek() 調整游標的位置
f = open(r'd:\temp\day8test2.txt', 'r', encoding='utf-8')
print(f.tell())
f.seek(9)
print(f.tell())
content = f.read()
print(content)
f.close()
# flush 強制重新整理
f = open(r'd:\temp\day8test2.txt', 'w', encoding='utf-8')
f.write('強制儲存')
f.flush()
f.close()
# 不用手動關閉檔案控制代碼
# 可以同時開啟多個檔案
with open(r'd:\temp\day8test1.txt', 'r', encoding='utf-8') as f1,\
open(r'd:\temp\day8test2.txt', 'r+', encoding='utf-8') as f2:
print(f1.read())
print(f2.read())
f2.write('jason')
7.修改檔案的操作
"""
1. 以讀的方式開啟原檔案
2. 以寫的模式建立乙個新檔案
3. 將原檔案讀取出來的內容修改為新內容,寫入新檔案
4. 將原檔案刪除
5. 將重新命名為新檔案
"""import os
with open(r'd:\temp\day8test3.txt', 'r', encoding='utf-8') as f1,\
open(r'd:\temp\day8test4.txt', 'w', encoding='utf-8') as f2:
for line in f1:
new_line = line.replace('sb', 'nb')
f2.write(new_line)
os.remove(r'd:\temp\day8test3.txt')
os.rename(r'd:\temp\day8test4.txt', r'd:\temp\day8test3.txt')
day8 檔案互動
能呼叫方法的一定是物件,要操作檔案,首先要建立乙個 檔案物件 建立檔案物件 f open 檔名 r encoding utf8 對檔案進行操作,這裡是把檔案讀出來 這裡注意,必須把檔案用乙個變數存起來!line f.read 關閉檔案 f.close 檔案操作這是必須的三步,必須要先建立乙個檔案物件...
day8 檔案操作
檔案操作 檔案操作函式 正常模式 r唯讀f open aaaa mode r encoding utf 8 s f.read 一次讀取一行是readline print s f.close 迴圈 f open a mode r encoding utf 8 for line in f print l...
Day 8 檔案的操作
open 開啟 file 檔案的位置 路徑 mode 操作檔案的模式 encoding 檔案編碼方式 f open 蘿莉小姐姐的 號 mode r encodinz utf 8 print f.read f.close 操作檔案 1.開啟檔案 2.操作檔案 3.關閉檔案 檔案操作的模式 r,w,a ...