day12 檔案高階及函式基本使用

2022-02-17 17:57:47 字數 2623 閱讀 6896

1.x模式(控制檔案操作的模式)-》了解(只做了解沒啥可說的。)

x, 只寫模式【不可讀;不存在則建立,存在則報錯】

"""with open('a.txt',mode='x',encoding='utf-8') as f:

pass

with open('c.txt',mode='x',encoding='utf-8') as f:

f.read()

with open('d.txt',mode='x',encoding='utf-8') as f:

f.write('哈哈哈\n')

2.b模式

控制檔案讀寫內容的模式

t:1、讀寫都是以字串(unicode)為單位

2、只能針對文字檔案

3、必須指定字元編碼,即必須指定encoding引數

b:binary模式

1、讀寫都是以bytes為單位

2、可以針對所有檔案

3、一定不能指定字元編碼,即一定不能指定encoding引數

錯誤演示:t模式只能讀文字檔案   (開啟非文字格式檔案會直接報錯)

with open(r'愛nmlgb的愛情.mp4',mode='rt') as f:

f.read() # 硬碟的二進位制讀入記憶體-》t模式會將讀入記憶體的內容進行decode解碼操作

(以下這些沒啥好寫的,直接把筆記弄過來了。記住就行的內容)

res=f.read() # 硬碟的二進位制讀入記憶體—>b模式下,不做任何轉換,直接讀入記憶體

print(res) # bytes型別—》當成二進位制

print(type(res))

with open(r'd.txt',mode='rb') as f:

res=f.read() # utf-8的二進位制

print(res,type(res))

print(res.decode('utf-8'))

with open(r'd.txt',mode='rt',encoding='utf-8') as f:

res=f.read() # utf-8的二進位制->unicode

print(res)

with open(r'e.txt',mode='wb') as f:

f.write('你好hello'.encode('gbk'))

with open(r'f.txt',mode='wb') as f:

f.write('你好hello'.encode('utf-8'))

f.write('哈哈哈'.encode('gbk'))

檔案拷貝工具

src_file=input('

原始檔路徑》:

').strip()

dst_file=input('

原始檔路徑》:

').strip()

with open(r'{}

'.format(src_file),mode='

rb') as

f1,\

open(r'{}

'.format(dst_file),mode='

wb') as

f2: # res=f1.read() # 記憶體占用過大

# f2.write(res)

for line in

f1: # 雖然是這個方法和上面的效果一樣,可這樣寫相對占用記憶體比較小,所以採用這種方法書寫

f2.write(line)

迴圈讀取檔案

方式一:自己控制每次讀取的資料的資料量

res=f.read(1024) # 1024 這個是1024個位元組控制一次讀多少位元組,可有效減少資源的占用與浪費

if len(res) == 0

:

break

print(len(res))

方式二:以行為單位讀,當一行內容過長時會導致一次性讀入內容的資料量過大

with open(r'

g.txt

',mode='

rt',encoding='

utf-8

') as

f:

for line in

f: # 迴圈的讀,一行一行的

print(len(line),line) # 每行的長度,行內容

with open(r

'g.txt

',mode='

rb') as

f:

for line in

f: print(line) # 這是b模式下的,上面是t模式

f: print(line) # 讀也是一樣的

Day12 檔案操作

基本操作 1 f open lyrics 開啟檔案 2 first line f.readline 3 print first line first line 讀一行 4 print center 50,5 data f.read 讀取剩下的所有內容,檔案大時不要用 6print data 列印檔案...

day12 檔案操作的其他方法

一 讀相關 1 readline 一次讀一行 with open r g.txt mode rt encoding utf 8 as f res1 f.readline res2 f.readline print res2 while true 一次讀一行 line f.readline if le...

12 檔案基本許可權

檢視檔案許可權 d 目錄 檔案 軟鏈結 檔案基本許可權 rwx r xr x root root filename 型別擁有者的許可權 所屬組的許可權 其他人的許可權 擁有者屬組 物件型別 檔案 rwx d目錄 wxr 對於檔案 r 讀 可以檢視,不能更改,刪除w寫 可插入x 執行一般指的是指令碼檔...