溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何處理文件

發布時間:2022-05-25 11:12:48 來源:億速云 閱讀:159 作者:zzz 欄目:大數據

這篇文章主要講解了“Python如何處理文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python如何處理文件”吧!

1 、讀取文件數據

文本文件可存儲的數據量非常豐富,像天氣數據、交通數據、文學作品等。每當我們需要分析或修改儲存在文件中的信息時,讀取文件就顯得尤為重要。想讀取一個文件的信息,我們可以一次性讀取全部內容,也可以每次一行逐步讀取。

讀取整個文件

我們先來創建一個包含幾行文本的文件,在編輯器中輸入以下數據行,保存為 txt 格式:

pi.txt: 3.1415926535   8979323846   2643383279

打開并讀取該文件:

with open('pi.txt') as file:     contents = file.read()     print(contents)

在這行程序中,出現了兩個函數open( )和read( )。

函數open( )用于打開一個文件,它接受的參數是要打開文件的名稱,Python  會在當前執行的文件目錄中查找指定的文件,然后返回一個表示文件的對象。

方法read( )  用于讀取這個文件的全部內容,并將其作為一個長長的字符串儲存在變量contents中。但這段程序的運行結果大家可以嘗試一下,它會把這個文本的內容全部輸出并在最后多出一行空行,這是因為read(  )到達文件末尾時會返回一個空字符串,顯示在結果就是一個空行。如果想要刪除末尾的空行,可以在print中使用rstrip( ):

print(contents.rstrip())

關于文件路徑,我們需要注意的是,Linux 系統和 windows 有一點不同:

在Linux和OS X中(使用斜杠/):

with open('files/filename.txt') as file_object:

在Windows中(使用反斜杠\):

with open('files\filename.txt') as file_object:

逐行讀取

如果想每次一行的讀取文件,可對文件對象使用for循環:

filename='pi.txt'  with open(filename) as file:    for line in file:         print(line)

同樣,為了刪除每一行多余出來的空行,我們可以使用rstrip( ):

filename='pi.txt'  with open(filename) as file:    for line in file:         print(line.rstrip())

創建一個包含文件各行內容的列表

當使用with時,open(  )返回的文件對象只能在with代碼塊內使用。如果想要在代碼塊外訪問文件內容時,我們可以在with代碼塊內將文件的各行儲存在一個列表中,并在with代碼塊外使用該列表訪問。

filename='pi.txt'  with open(filename) as file:   lines = file.readlines()  for line in lines:     print(line.rstrip())

方法readlines( )表示從文件中讀取每一行,并將其儲存在一個列表中。

使用文件內容

filename='pi.txt'  with open(filename) as file:    lines = file.readlines()  ss='' for line in lines:     ss += line.strip() print(ss)

該程序運行結果為:3.141592653589793238462643383279

 2 、寫入文件

寫入空文件

將文本寫入文件,可以在調用open(  )時提供另一個實參。即打開文件時,可以指定需要的模式:'r'讀取模式,'w'寫入模式,'a'附加模式,'r+'讀取和寫入模式。python  默認只讀模式。

with open(filename,'w') as file:     file.write("abcdefg")

注意:python 只能將字符串寫入文本文件,如果想把數值數據儲存到文本文件,必須先使用函數str( )將其轉為字符串格式。

寫入多行

with open(filename,'w') as file:     file.write("abcdefg\n")     file.write("hijklmn\n")

存儲數據python中常使用json來存儲數據。json可以將簡單的python數據結構轉存到文件中,并在程序再次運行時加載該文件中的數據。

JSON數據格式并非python專用,它是一種常用的數據格式,很有用,也易于學習。

json.dump( ) 和 json.load( )

這兩個函數分別用于儲存數據和加載數據。json.dump() 接受兩個實參:要儲存的數據和用于儲存數據的文件對象。json.load()  用于加載存儲在json文件中的信息。

import json num = [1,2,3,4,5] filename = 'a.json' with open(filename,'w') as f:     json.dump(num,f)
with open(filename) as f:     num = json.load(f) print(num)

這是一種在程序之間共享數據的簡單方式。

實現一個小功能

下面這個程序可以實現我們常常在游戲開頭時遇到的一個小功能,一起來試試吧!

import json # 如果以前儲存了用戶名就加載它,否則,就提示用戶輸入名字并存儲 filename = 'name.json' try:     with open(filename) as f:         username=json.load(f) except FileNotFoundError:     name = input("你叫什么名字?")  with open(filename,'w') as f:      json.dump(name,f)      print("我們會記住你的,"+name+"!") else:     print("歡迎回來,"+name+"!")

感謝各位的閱讀,以上就是“Python如何處理文件”的內容了,經過本文的學習后,相信大家對Python如何處理文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女