在Python中,不需要導入外部庫來讀取和寫入文件。Python為創建、寫入和讀取文件提供了內置的函數。
在本文中,我們將學習
- 如何創建文本文件
- 如何將數據附加到文件中
- 如何讀取文件
- 如何逐行讀取文件
- Python中的文件模式
如何創建文本文件
使用Python,您可以通過使用代碼創建一個.文本文件(古魯99.txt),我們在這里演示了如何做到這一點
第1步)
- 我們聲明變量f來打開一個名為textfile.txt的文件。OPEN采用兩個參數,我們要打開的文件和表示我們想對文件執行的權限或操作類型的字符串。
- 在這里,我們在參數中使用了“w”字母,它指示寫和加號,這意味着如果庫中不存在文件,它將創建一個文件。
- “w”旁邊的可用選項是“r”表示讀,“a”表示附加和加號,意思是如果沒有,則創建它。
第二步)
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
- 我們有一個for循環,它運行在10個數字的范圍內。
- 使用寫函數將數據輸入到文件中。
- 我們想在文件中迭代的輸出是“這是行號”,我們用寫函數聲明它,然后用百分比d(顯示整數)聲明它。
- 因此,我們基本上是在輸入我們正在寫的行號,然后將它放入一個回車和一個新的行字符中。
第3步)
f.close()
- 這將關閉存儲的文件guu99.txt的實例。
下面是代碼執行后的結果
當您單擊您的文本文件(在本例中為“guu99.txt”)時,它將如下所示
如何將數據附加到文件中
還可以將新文本附加到已經存在的文件或新文件中。
第1步)
f=open("guru99.txt", "a+")
再次,如果您可以在代碼中看到加號,它表示如果它不存在,它將創建一個新文件。但是在我們的例子中,我們已經有了這個文件,所以我們不需要創建一個新的文件。
第二步)
for i in range(2):
f.write("Appended line %d\r\n" % (i+1))
這將以附加模式將數據寫入文件。
您可以在“guu99.txt”文件中看到輸出。代碼的輸出是以前的文件附加了新的數據。
如何讀取文件
不僅可以從Python創建.txt文件,還可以“讀取模式”(R)調用.txt文件。
第1步)以讀取模式打開文件
f=open("guru99.txt", "r")
第二步)我們使用代碼中的模式函數來檢查文件是否處於打開模式。如果是,我們繼續前進
if f.mode == 'r':
第3步)使用f.read讀取文件數據並將其存儲在可變內容中
contents =f.read()
第4步)印刷內容
這是輸出
如何逐行讀取文件
如果數據太大,無法讀取,也可以逐行讀取.txt文件。此代碼將在容易就緒的模式下隔離數據。
當您運行代碼時(F1=f.readline()對於逐行讀取文件或文檔,它將分隔每一行並以可讀格式呈現該文件。在我們的例子中,行是短的和可讀的,輸出將看起來類似於讀模式。但是,如果有一個復雜的數據文件是不可讀的,這段代碼可能是有用的。
Python中的文件模式
這是完整的代碼
Python 2示例
def main(): f= open("guru99.txt","w+") #f=open("guru99.txt","a+") for i in range(10): f.write("This is line %d\r\n" % (i+1)) f.close() #Open the file back and read the contents #f=open("guru99.txt", "r") # if f.mode == 'r': # contents =f.read() # print contents #or, readlines reads the individual line into a list #fl =f.readlines() #for x in fl: #print x if __name__== "__main__": main()
Python 3示例
def main(): f= open("guru99.txt","w+") #f=open("guru99.txt","a+") for i in range(10): f.write("This is line %d\r\n" % (i+1)) f.close() #Open the file back and read the contents #f=open("guru99.txt", "r") #if f.mode == 'r': # contents =f.read() # print (contents) #or, readlines reads the individual line into a list #fl =f.readlines() #for x in fl: #print(x) if __name__== "__main__": main()
如果還有問題未能得到解決,搜索887934385交流群,進入后下載資料工具安裝包等。最后,感謝觀看!