【Python开发】8. 文件操作
本文專欄:Python開發筆記 點擊查看系列文章
本文主要內容:
- 1. 讀取文件
- 1.1 文件路徑
- 1.2 讀取整個文件
- 1.3 逐行讀取
- 2. 寫入文件
- 2.1 寫入空文件
- 2.2 寫入多行
- 2.3 內容追加
1. 讀取文件
1.1 文件路徑
讀取文件使用的函數是 open() ,當然要給函數指定 文件的位置,即 文件路徑 。
提供的路徑主要有兩種路徑
- 相對文件路徑:即相對于當前運行的程序所在的目錄。
- 絕對文件路徑:文件在計算機中的準確位置。
如果在當前運行的程序HelloWorld.py的同級目錄下有一個名為file的文件夾,該文件夾下有一個名為data.txt的文件,那么這個文件路徑就可以定義為:
file_path = 'file/data.txt'當然上面這個路徑定義,使用的是相對路徑。
如果使用絕對路徑,那么應該這樣定義:
file_path = 'D:/PycharmProjects/學習階段/HelloWorld/file/data.txt'1.2 讀取整個文件
已知在上面定義的txt 文件中寫入了幾行數字,那么可以使用下面這樣的代碼讀取整個文件中的內容:
file_path = 'file/data.txt' with open(file_path) as file_object:contents = file_object.read()print(contents)可以將所有的文本打印出來:
1024 2048 40961.3 逐行讀取
如果想逐行讀取文件,那么可以參考下面的示例:
示例:
lineNum = 1 file_path = 'file/data.txt' with open(file_path) as file_object:for line in file_object:print('第' + str(lineNum) + '行:' + line)lineNum += 1示例輸出:
第1行:1024第2行:2048第3行:4096在上面這個示例中,可以看到每一行都多輸出了一個空行。這是因為print語句加上一個換行符,文件的每一行也有一個換行符導致的。
可以使用 rstrip() 解決。
示例:
lineNum = 1 file_path = 'file/data.txt' with open(file_path) as file_object:for line in file_object:print('第' + str(lineNum) + '行:' + line.rstrip()) # 這里加上rstrip()lineNum += 1示例輸出:
第1行:1024 第2行:2048 第3行:4096在以上的示例中,均采用for循環,在讀取文件時,即將文件逐行輸出。
其實還可以將文件中的每一行內容,存儲在一個列表中,然后在使用的時候,直接使用列表。
示例:
lineNum = 1 file_path = 'file/data.txt' with open(file_path) as file_object:lines = file_object.readlines()# 然后通過列表讀取數據 for line in lines:print('第' + str(lineNum) + '行:' + line.rstrip())lineNum += 1輸出結果同上。
2. 寫入文件
2.1 寫入空文件
寫入文件時,依舊使用 open() 方法。
其實在 open() 方法中,除了文件路徑這個參數外,第二個參數是 文件的模式 。文件的模式主要有:
- ‘r’:讀取模式
- ‘w’:寫入模式
- ‘a’:附加模式
- 缺省:只讀模式
所以,寫入文件,只需要將 open() 方法的第二個實參寫為’w’即可。
注意:使用寫入模式打開文件時,如果指定的文件不存在,則自動創建。如果該文件已存在,則將清空該文件!!!
示例:
file_path = 'file/data2.txt' with open(file_path, 'w') as file_object:file_object.write('WUT')將上面的代碼運行后,將新建一個 data2.txt 的文件,并寫入數據 WUT 。
注意:Python只能將字符串寫入文本文件。要將數值數據存儲到文本文件中,必須先使用函數str() 將其轉換為字符串格式。
2.2 寫入多行
多寫幾行write語句,即可寫入多行數據。
示例:
file_path = 'file/data2.txt' with open(file_path, 'w') as file_object:file_object.write('I love WUT')file_object.write('I love CST')上面這個示例將兩個句子寫入了data2.txt文件中。
這時,打開data2.txt,看到數據是這樣的:
I love WUTI love CST其實想讓其單行顯示,只需要在每個寫入語句末尾加上換行符。
示例:
file_path = 'file/data2.txt' with open(file_path, 'w') as file_object:file_object.write('I love WUT\n')file_object.write('I love CST\n')這時,打開data2.txt,看到數據是這樣的:
I love WUT I love CST這符合我們的預期。
2.3 內容追加
看到這里,內容追加也就很簡單了。
直接使用 附加模式 打開文件,即可進行內容的追加。
接著上面的data2.txt文件,這次以附加模式打開這個文件,然后再寫入幾行數據:
file_path = 'file/data2.txt' with open(file_path, 'a') as file_object:file_object.write('Zhang San love WUT\n')file_object.write('Li Si love WUT,also\n')這時,即可將上面的內容追加到data2.txt文件中。
參考文獻:
[1] Python編程:從入門到實踐
如果有幫助,感謝動動小手點個贊 (??????)???
總結
以上是生活随笔為你收集整理的【Python开发】8. 文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【CAD.Net】第六课:图纸保存时候字
- 下一篇: python 自动交易股票_Python