python檔案操作

2022-05-28 21:42:18 字數 3421 閱讀 4090

一、檔案處理流程

1.開啟檔案,得到檔案控制代碼並賦值給乙個變數

2.通過控制代碼對檔案進行操作

3.關閉檔案

r模式,預設模式,檔案不存在則報錯

w模式,檔案不存在則建立,檔案存在則覆蓋

a模式,檔案不存在則建立,檔案存在則不會覆蓋,寫內容會以追加的方式寫(寫日誌檔案的時候常用),追加模式是一種特殊的寫模式

b(rb,wb,ab)模式:不用加encoding:utf-8

1 f=open('c.txt','rb')

2 # print(f.read())

3 print(f.read().decode())

4 5 f=open('d.txt','wb')

6 f.write('啦啦啦'.encode('utf-8'))

7 f.close()

二、基本操作1.檔案開啟模式

檔案控制代碼=open('檔案路徑',『模式』)

開啟檔案時,需要指定檔案路徑和以什麼方式開啟檔案。

開啟檔案的模式有:

# #唯讀模式

# f=open(r'c.txt',encoding='utf-8')

# # print('====>1',f.read())

# # print('====>2',f.read())

# # print(f.readable())

# # print(f.readline(),end='')

# # print(f.readline())

# # print("="*20)

# # print(f.read())

# print(f.readlines())

# f.close()

#寫模式:檔案不存在則建立,檔案存在則覆蓋原有的

# f=open("new.py",'w',encoding='utf-8')

# f.write('1111111111\n')

# f.writelines(['2222\n','2222548\n','978646\n'])

# f.close()

# 追加模式:檔案不存在則建立,檔案存在不會覆蓋,寫內容是追加的方式寫

# f=open('new.py','a',encoding='utf-8')

# f.write('nishishui\n')

# f.writelines(['aa\n','bb\n'])

# f.close()

"+" 表示可以同時讀寫某個檔案

"b"表示以位元組的方式操作

注:以b方式開啟時,讀取到的內容是位元組型別,寫入時也需要提供位元組型別,不能指定編碼

練習,利用b模式,編寫乙個cp工具,要求如下:

# b模式

三、上下文管理

1. with open('a.txt','w')  as  f:

pass

2.with open('a.txt','r')  as read_f,open('b.txt','w')  as  write_f:

data=read_f.read()

write_f.write(data)

四、檔案的修改

import os

with open('a.txt','r',encoding='utf-8') as read_f,\

open('a.txt.swap','w',encoding='utf-8') as write_f:

for line in read_f:

write_f.write(line)

os.remove('a.txt')

os.rename('.a.txt.swap','a.txt')

五、檔案內游標移動

一: read(3):

1. 檔案開啟方式為文字模式時,代表讀取3個字元

2. 檔案開啟方式為b模式時,代表讀取3個位元組

二: 其餘的檔案內游標移動都是以位元組為單位如seek,tell,truncate

注意:1. seek有三種移動方式0,1,2,其中1和2必須在b模式下進行,但無論哪種模式,都是以bytes為單位移動的

seek控制游標的移動,是以檔案開頭作為參照的。

tell當前游標的位置

2. truncate是截斷檔案,截斷必須是寫模式,但是不能用w或w+等方式開啟,因為那樣直接清空檔案了,所以truncate要在r+或a或a+等模式下測試效果

# #唯讀模式

# f=open(r'c.txt',encoding='utf-8')

# # print('====>1',f.read())

# # print('====>2',f.read())

# # print(f.readable())

# # print(f.readline(),end='')

# # print(f.readline())

# # print("="*20)

# # print(f.read())

# print(f.readlines())

# f.close()

#寫模式:檔案不存在則建立,檔案存在則覆蓋原有的

# f=open("new.py",'w',encoding='utf-8')

# f.write('1111111111\n')

# f.writelines(['2222\n','2222548\n','978646\n'])

# f.close()

# 追加模式:檔案不存在則建立,檔案存在不會覆蓋,寫內容是追加的方式寫

# f=open('new.py','a',encoding='utf-8')

# f.write('nishishui\n')

# f.writelines(['aa\n','bb\n'])

# f.close()

python 檔案操作

簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...

python檔案操作

1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...

Python 檔案操作

1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...