您好,登錄后才能下訂單哦!
本篇內容主要講解“Python文件處理方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python文件處理方法有哪些”吧!
# 打開example.txt文件,并返回文件對象filewith open('example.txt') as file:# 通過read()讀取文件的全部內容,并將其作為一個字符串存儲在all_contents中all_contents = file.read()# 顯示全部內容print(all_contents)
執行該程序后,輸出example.txt文件中的全部內容:
君不見黃河之水天上來,奔流到海不復回。 君不見高堂明鏡悲白發,朝如青絲暮成雪。 人生得意須盡歡,莫使金樽空對月。 天生我材必有用,千金散盡還復來。
with open('example.txt') as file:# 遍歷文件中的每一行for line in file:print(line)
執行該程序后,逐行輸出example.txt文件中的每一行內容:
君不見黃河之水天上來,奔流到海不復回。 君不見高堂明鏡悲白發,朝如青絲暮成雪。 人生得意須盡歡,莫使金樽空對月。 天生我材必有用,千金散盡還復來。
容易發現,輸出每一行內容后,都多了一個空行。 這是因為每行的末尾都有一個看不見的換行符,而 print 語句也會加上一個換行符,因此每行末尾都有兩個換行符:一個來自文件,另一個來自 print 語句。要消除這些多余的空白行,可在 print 語句中使用 rstrip() :
print(line.rstrip())
使用關鍵字 with 時, open() 返回的文件對象只在 with 代碼塊內可用。如果要在 with 代碼塊外訪問文件的內容,可在 with 代碼塊內將文件的各行存儲在一個列表中,并在 with 代碼塊外使用該列表:你可以立即處理文件的各個部分,也可推遲到程序后面再處理。
下面的示例在 with 結構中將文件 example.txt 的各行存儲在一個列表中,再在 with 代碼塊外打印它們:
with open("example.txt") as file:# 從文件中讀取每一行,并將其存儲在一個列表lines中lines = file.readlines()# 逐行打印內容for line in lines:print(line.rstrip())
執行該程序后,逐行輸出example.txt文件中的每一行內容:
君不見黃河之水天上來,奔流到海不復回。 君不見高堂明鏡悲白發,朝如青絲暮成雪。 人生得意須盡歡,莫使金樽空對月。 天生我材必有用,千金散盡還復來。
在前面的示例中,我們使用的open()其實包含兩個參數:
第一個參數filename。表示到打開或者寫入的文件名;
第二個參數mode。模式有三種選擇:讀取模式(‘r’)、寫入模式(‘w’)、附加模式(‘a’)。如果你省略了模式實參, Python 將以默認的只讀模式打開文件。
要將文本寫入文件,你在調用 open() 時需要提供另一個實參——寫入模式(‘w’),告訴 Python 你要寫入打開的文件。為明白其中的工作原理,我們來將一條簡單的消息存儲到文件中:
# 以寫入模式打開文件with open("writeFile.txt", "w") as file:# write()將一個字符串寫入文件file.write("I Love Python!")
執行后,可以發現在你的工程目錄下產生了一個新的文件writeFile.txt,該文件中的內容是:I Love Python!
注意:Python 只能將字符串寫入文本文件。要將數值數據存儲到文本文件中,必須先使用函數 str() 將其轉換為字符串格式。
函數 write() 不會在你寫入的文本末尾添加換行符,因此你可以在寫入時指定換行符:
# 以寫入模式打開文件with open("writeFile.txt", "w") as file:# write()將一個字符串寫入文件,并換行file.write("I Love Python!\n")file.write("AI Jun Love Python too!\n")
執行后,可以發現生成的新文件writeFile.txt中有兩行內容:
I Love Python! AI Jun Love Python too!
注意:如果在工程目錄下已有writeFile.txt文件,則新寫入的內容會覆蓋原來的所有內容。
如果你要給文件添加內容,而不是覆蓋原有的內容,可以 附加模式 打開文件。你以附加模式打開文件時, Python 不會在返回文件對象前清空文件,而你寫入到文件的行都將添加到文件末尾。如果指定的文件不存在, Python 將為你創建一個空文件。
接下來,在既有文件 writeFile.txt 中再添加一些新的內容:
with open("writeFile.txt", "a") as file:# 在原來writeFile.txt文件中新添內容file.write("I Love Python beacause it can work well!")
執行后,在原內容中新增了一行:
I Love Python! AI Jun Love Python too! I Love Python beacause it can work well!
模塊 json 讓你能夠將簡單的 Python 數據結構轉儲到文件中,并在程序再次運行時加載該文件中的數據。你還可以使用 json 在 Python 程序之間分享數據。更重要的是, JSON 數據格式并非 Python 專用的,這讓你能夠將以 JSON 格式存儲的數據與使用其他編程語言的人分享。這是一種輕便格式,很有用,也易于學習。
JSON ( JavaScript Object Notation )格式最初是為 JavaScript 開發的,但隨后成了一種常見格式,被包括 Python 在內的眾多語言采用。
使用 json.dump() 將數據存儲到JSON文件中:
# 導入模塊 jsonimport json# 新建一個列表numbers = [1,2,3,4,5]# 以寫入模式打開這個文件new.jsonwith open("new.json", "w") as file:# 使用json.dump()將數字列表存儲到文件中json.dump(numbers, file)
執行后,在工程目錄下生成一個新的文件new.json,文件中存儲著新添的數據:[1, 2, 3, 4, 5]
注:json是Python中的內置模塊,在編寫相關程序時,可以直接使用import導入,不需要額外的安裝json庫。
以寫入模式打開文件,寫入的內容會覆蓋原來文件中的內容。有時希望在源文件中添加新的內容,這時就必須以附加模式打開文件,如下所示:
# 導入模塊 jsonimport json# 新建一個列表list = [6, 7, 8, 9, 10]# 以附加模式打開這個文件new.jsonwith open("new.json", "a") as file:# 使用json.dump()將數字列表存儲到文件中json.dump(list, file)
執行完后,程序在原來的new.json文件中新添了內容:[6, 7, 8, 9, 10]
接下來,使用函數 json.load() 將JSON文件中的列表讀取到內存中:
# 導入模塊 jsonimport json# 以只讀模式打開這個文件new.jsonwith open("new.json", "r") as file:# 使用json.load()將JSON文件中的內容讀取到內存list = json.load(file)print("JSON文件中存儲的內容是:", list)
運行結果:
JSON文件中存儲的內容是: [1, 2, 3, 4, 5]
到此,相信大家對“Python文件處理方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。