本文和大家分享的主要是python
學習python有所幫助。
檔案處理
開啟檔案時,需要指定檔案路徑和以何等方式開啟檔案,開啟後,可以將結果賦值給乙個變數,
這個變數我們稱為控制代碼。這樣我們就可以通過這個控制代碼對此檔案進行操作。使用後關閉。 #
f= open('
檔案路徑
','開啟方式
',encoding='
字元編碼
') #f
為檔案控制代碼 #
print('+++++>1',
f. read()) #
輸出全部 #
print(type(data))
# print('+++++>2',
f. read()) # 空
# print('+++++>3',
f. read()) # 空
# f.
close() #
檔案關閉 #
print(
f) #
可用 # f.
read() #
不可用# del
f #
僅刪除f控制代碼
**資源
1 f.close():
一定要做,關閉作業系統開啟的檔案,即**作業系統的資源
2 del f:
沒必要做,因為在
python
程式執行完畢後,會自動清理與該程式有關的所有記憶體空間
檔案開啟模式
開啟檔案的模式有: r
,唯讀模式【預設模式,檔案必須存在,不存在則丟擲異常】 #
,檔案不存在報錯 f=
open('aaaa.py','r')
print(f.read()) #
讀所有print(f.readline(),end='') #
讀行 print(f.readlines()) #
讀所有將每行放到陣列中
print(f.readable()) #
判斷是否可讀
print(f.writable()) #false
f.close() #
關閉 w ,只寫模式【不可讀;不存在則建立;存在則清空內容】 #
,檔案不存在則建立空檔案,檔案存在則清空 f=
open('new.txt','w')
f.write('1111111\n') #
寫入 f.writelines(['22222\n','3333\n','444444\n']) #
寫入三行
print(f.writable()) #
判斷是否可寫入
f.close()
a , 追加模式【可讀;
不存在則建立;存在則只追加內容】 #
# f= open('new_2','a',encoding='utf-8')
# print(
f.readable()) #false
# print(
f.writable()) #true
# f.
write('33333\n')
# f.
write('44444\n')
# f.writelines(['5555\n','6666\n'])
# f.
close()
"+"
表示可以同時讀寫某個檔案 r+
, 讀寫【可讀,可寫】 #
可寫可讀
開啟檔案的時候檔案就為空,寫的是任意內容,讀的是剛剛寫進去的內容
#要想讀,先移動游標
#讀的游標和寫的游標是兩回事
f =
open('
複習.py','w+',
encoding='utf-8')
f.write('12237yuiayi')#seek
制定游標的位置在0位置
f.seek(0)
print(f.
read(3))
f.write('kahkshldkhd')
print('***',f.
read())
f. close()
w+ ,寫讀【可讀,可寫】 #
可讀可寫
f =
open('
複習.py','r+',encoding='utf-8')
print(
f. read())
f. write('\najshdjkdjk')
f. close()
a+ , 寫讀【可讀,可寫】 #
追加可讀
f =
open('
複習2.py','a+',
encoding='utf-8')
f. seek(0)
print(f.
read())
"b" 表示以位元組的方式操作 rb
檔案的游標移動
read(3) :
1. 檔案開啟方式為文字模式時,代表讀取
3個字元
2. 檔案開啟方式為
b模式時,代表讀取
3個位元組
用唯讀方式和只寫方式開啟檔案游標都在首,追寫方式開啟在尾。想要自己移動游標只能借助seek(
游標位置
)方法實現
上下文管理
# 上下文管理
with
open('aaaa.py','r',encoding='utf-8')
as read_f,\
open('aaaa_new.py','w',encoding='utf-8')
as write_f:
# 一行太長可以用
\來將一行分成兩行或多行但本質還是一行
data=read_f.
read()
write_f.
write(data)
# 不需要關閉(即不用
close
)此格式會自動關閉
#with
open()
as控制代碼,
open()
as控制代碼 : #
可以一次開啟多個
#
對檔案的操作
迴圈每一行
with
open('a.txt','r',encoding='utf-8')
asf:
while true:
line=
f.readline()
if not line:
break
print(line,end='')
lines=
f.readlines() #
只適用於小檔案
print(lines)
data=
f. read()
print(type(data))
for line in
f: #
推薦使用
print(line,end='')
檔案的修改
# 方式一:只適用於小檔案
import os #
匯入os模組
with
open('a.txt','r',encoding='utf-8')
as read_f,\
open('a.txt.swap','w',encoding='utf-8')
as write_f:
data=read_f.
read()
write_f.
write(data.replace('alex_sb','alex_bsb'))
os.remove('a.txt') #
移除 os.rename('a.txt.swap','a.txt')
重新命名 #
方式二:
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.replace('alex_bsb','bb_alex_sb'))
os.remove('a.txt')
os.rename('a.txt.swap','a.txt')
#os 模組簡單的來說它是乙個
python
的系統程式設計的操作模組,可以處理檔案和目錄這些我們日常手動需要做的操作。
#import os
Python學習筆記之檔案處理
1 簡單檔案操作流程 開啟檔案 操作 寫入 讀取等 關閉檔案 2 開啟檔案 open fname,mode,encoding,buf 檔案路徑 檔案,開啟方式,開啟檔案編碼格式,緩衝 buffering 大小 可選引數 r 唯讀 w 只寫,每次寫入都會把之前的內容覆蓋 a 追加,在之前的內容後面追加...
詳解Python的檔案處理
目錄 比如像以前在學校讀書的時候,第一門程式設計課設計要求是製作學生管理系統。這就需要使用檔案來處理 也可以用資料庫,但是一般c語言都是很多計算機系新生的首選語言,這時候大概率也不知道資料庫 ycnjgrckgpython 最常用的是open和write函式,如下 open函式 接收乙個檔名,還有其...
python學習之檔案高階處理作業
1 第一種方法src file input 請輸入原始檔的路徑 strip dst file input 請輸入目標檔案的路徑 strip with open r format src file rb as f1,open r format dst file wb as f2 content f1....