開啟檔案的操作
資料是寫在檔案裡面的,open file 可以實現 讀取資料 寫入資料
一般的檔案操作步驟:
先開啟檔案
讀取檔案資料
寫入資料
關閉檔案
注意:檔案開啟後,最後一定要記得關閉檔案,否則會引起很多問題
1.開啟檔案,使用的方法為open() 內建函式
f=open('檔名稱/檔案路徑')
2.讀取檔案:
f.read() 就可以讀取檔案所有資料(讀取的資料型別為字串)
讀取的方法有:
mode='r' 讀取模式 (一般預設的模式為:讀取模式) 所以,如果是進行檔案讀取,可以預設不傳,但是前提必須是,讀取時,檔案必須存在,否則會報錯
#開啟檔案
f = open('
python_test.txt
')#如果你讀取的是同乙個資料夾下,不需要加路徑,不同檔案下,需要加上詳細的路徑資訊
#讀取資料
data = f.read()#
read 讀取出來的資料是字串
(data)
print(type(data))#開啟檔案讀取出來的資料為字串型別
#關閉檔案 f.close()
輸出結果為:
如果想將返回的字串資料,存放在乙個列表裡面,方便後續處理,可以使用之前字串的乙個方法,split() 分割
split() 內建函式返回的結果為,字串列表(分割後的引數為字串形式,儲存在列表內)----可以自行實踐
new_data = data.split('\n') #
將返回的字串以換行符進行切割儲存
print(new_data)
3.寫入檔案
檔案不存在(就是在乙個新的檔案裡面,寫入需要寫入的資料)
使用open()內建函式開啟檔案,進行操作的過程中,不需要傳入關鍵字mode,只需要傳入對應的讀取模式就行
原因是:open函式的原始碼部分,傳入的引數位置:def open(file,mode ='r',buffering = none,encoding = none,......)
其中,mode為第二個位置引數,所以可以不用寫,但是其他的需要傳入,不然會報錯,例如,常用的encoding位置引數
注意事項:如果之前已經存在相同名稱的檔案,使用mode='w'模式,會覆蓋之前的檔案內用,所以使用時需要很謹慎
4.檔案的操作之 seek
seek:表示游標在**
5.readlines 讀取每一行,會存放在列表當中,每一行的資料就是列表的乙個元素
read 讀取的資料是一整個字串
#使用read() 讀取全部資料
file=open('
data.txt
',encoding='
utf-8')
data=file.read()
(data)
(type(data))
輸出結果:
這是第一行內容
這是第二行內容
這是第三行內容
'str
'>
#使用readlines() 讀取資料
data1=file.readlines()
(data1)
(type(data1))
輸出結果:['
這是第一行內容\n
', '
這是第二行內容\n
', '
這是第三行內容']
'list
'>
readlines() 方法取出的資料為字串,且儲存在列表當中,且字串末尾存在乙個換行符,如果想要將返回的資料取出換行符,可以使用for迴圈進行遍歷,取出每個字串,然後使用字串的strip() 方法,去除字串首尾空格或者是換行符
方法二:使用enumerate() 方法 (可以多多了解,工作當中很實用)
file=open('data.txt
',encoding='
utf-8')
data1=file.readlines()
(data1)
(type(data1))
for line,data in
enumerate(data1):
if line == len(data1)-1:
print(data) #
根據資料對應的下標位置,獲取對應資料
else
:
print(data[:-1])
輸出結果:
這是第一行內容
這是第二行內容
這是第三行內容
6.with語句:可以讓我們節省關閉檔案的操作
首先,工作當中,我們經常遇到一些任務,可能事先需要設定,事後再做清理的工作。對於這種場景,python的with語句提供了乙個非常方便的處理方式。乙個很好的例子就是檔案處理,你需要獲取乙個檔案控制代碼,從檔案中讀取資料,然後關閉檔案控制代碼(此方法就是防止,書寫過程中,忘記關閉檔案,而導致報錯)
with語句的語法:
with open(file) as filename:
使用方法:
with open('data.txt') as f:
data= f.read()
data1=f.readlines()
python開啟檔案 Python檔案開啟模式
python 內建函式 python 內建函式 python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。寫入檔案時,不會自動加入換行,需要手動在末尾加入,在每個元素後面都換行n,可以用 fo.writelines line n for line in ...
python語法例項 python基本語法練習例項
1 列印九九乘法表 只列印結果 for i in range 1,10 for j in range 1,i 1 print i j,end print 列印算數表示式 for i in range 1,10 for j in range 1,i 1 print format j,i,i j end...
python語法練習 python基本語法練習
1 列印九九乘法表 只列印結果 for i in range 1,10 for j in range 1,i 1 print i j,end print 列印算數表示式 for i in range 1,10 for j in range 1,i 1 print format j,i,i j end...