python基礎 day8 檔案操作

2022-09-19 02:12:10 字數 3505 閱讀 3337

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 ...