程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

如何使用Python操作文件?

編輯:Python

文件讀寫是最基本和常用的操作,本篇文章主要介紹利用Python來實現對文件的讀寫,實現自動化操作文件。

Python提供open函數來實現文件的讀寫,任何時候都可以對文件進行操作。我們先來解釋下open函數的用法,然後再寫幾個實現文件讀和寫的例子。

Python open() 方法用於打開一個文件,並返回文件對象,在對文件進行處理過程都需要使用到這個函數,如果該文件無法被打開,會拋出 OSError。

注意:使用 open() 方法一定要保證關閉文件對象,即調用 close() 方法。

Python也提供自動關閉文件的方法, 在open前使用with, 就不需要再去調用close方法。我們一般就使用這種方法,比如:

with open("file_name.txt", "r") as fr:
pass

只需要對打開的文件對象fr進行操作,不需要去考慮在什麼時候close文件。

open() 函數常用形式是接收兩個參數:文件名(file)和模式(mode)。比如:

with open(file, mode='r') as fr:
pass

我們這裡介紹幾個常用參數:

r

以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。

w

打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。

a

打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。

使用open函數打開的file對象我們可以進行讀寫,下面介紹幾個讀寫函數:

file.read([size])

從文件讀取指定的字節數,如果未給定或為負則讀取所有。

file.readlines([sizeint])

讀取所有行並返回列表,若給定sizeint>0,則是設置一次讀多少字節,這是為了減輕讀取壓力。

file.write(str)

將字符串寫入文件,返回的是寫入的字符長度。

下面來看看如何用python代碼實現文件的讀取.

1. 使用read()一次性讀出文件內容。

def read_file(file_name):
"""
讀取文件,返回文件內容
"""
with open(file_name, "r", encoding="utf-8") as fr:
contents = fr.read()
return contents

2. 使用readlines()讀取所有行並返回列表,列表的每一個元素對應文件每一行內容

def read_file_by_lines(file_name):
"""
按行讀取文件,返回文件的每行字符串列表
"""
with open(file_name, "r", encoding="utf-8") as fr:
content_lines = fr.readlines()
return content_lines

接下來看看如何使用Python代碼實現文件的寫入:

def save_file(file_name, contents):
"""
將contents內容保存在對應的file_name文件
"""
with open(file_name, "w", encoding="utf-8") as fw:
fw.write(contents)

實戰:

if __name__ == "__main__":
content_str = "I love python, I am studying python file operate"
files_name = "file_operation.txt"
# 把content_str寫入文件file_operation.txt
save_file(files_name, content_str)
# 讀取文件,返回字符串
content = read_file(files_name)
print(content)
# 按行讀取文件,返回每行字符串的列表
content_list = read_file_by_lines(files_name)
print(content_list)
執行結果
I love python, I am studying python file operate
['I love python, I am studying python file operate']

擴展:

文件的讀寫有很多種模式,可以根據自己的需求來設置模式,但上面介紹的是最基本的讀寫,掌握了後,其他模式也是一樣的。

open打開的file對象,除了上面介紹的三個函數外,還有其他函數可以用,有興趣的可以去查一下,掌握了上面三個基本的用法,其他的都很簡單,舉一反三。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved