【Python】txt文件操作詳解

        在使用Python的過程中,需要對各種文件進行處理如excel、csv、txt等,這篇文章主要總結對txt文件的各種操作。 

目錄

1.打開文件--open()方法

2.讀文件--read()方法

3.寫文件--write()方法

4.關閉文件--close()方法

5.文件定位

5.1文件內的當前位置--tell()方法

5.2改變當前文件的位置--seek()方法

6.重命名文件--rename()方法

7.刪除文件--remove()方法


1.打開文件--open()方法

語法:

file object = open(file_name [, access_mode][, buffering])

參數詳解:

  • file_name:file_name變量是一個包含了你要訪問的文件名稱的字符串值。
  • access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式爲只讀(r)。
  • buffering:如果buffering的值被設爲0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設爲大於1的整數,表明了這就是的寄存區的緩衝大小。如果取負值,寄存區的緩衝大小則爲系統默認。

下面是小白總結出來常用到的打開文件模式及其含義:

 下面就舉一個實際的例子:

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "w")
print ("訪問模式 : ", fo.mode)

結果:

 其中mode屬性,就是看我們上面所說的哪種方式打開,w就是寫入模式。

訪問模式 :  w

這裏就介紹一下,文件打開後的文件對象,所具有的常用屬性:

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "w")
print ("訪問模式 : ", fo.mode)#返回被打開文件的訪問模式。
print ("文件名: ", fo.name)#返回文件的名稱。
print ("是否已關閉 : ", fo.closed)#返回true如果文件已被關閉,否則返回false。

結果:

訪問模式 :  w
文件名:  D:/chen_lib工作文檔/works/IM/dict_test.csv
是否已關閉 :  False

2.讀文件--read()方法

read()方法從一個打開的文件中讀取一個字符串。需要重點注意的是,Python字符串可以是二進制數據,而不是僅僅是文字。

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "r+")
str = fo.read(2)
print ("讀取的字符串是 : ", str)
# 關閉打開的文件
fo.close()

結果:

讀取的字符串是 :  好的

3.寫文件--write()方法

write()方法可將任何字符串寫入一個打開的文件。需要重點注意的是,Python字符串可以是二進制數據,而不是僅僅是文字。

write()方法不會在字符串的結尾添加換行符('\n'):

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "a+")
fo.write('添加')
fo.close()

 可以看到,添加被加在了最後。

 

我們原來的是一個詞爲一行,新添加的也想單獨成一行,那麼就需要如下操作即可:

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "a+")
fo.write('\n添加1')
fo.close()

 這樣就實現了換行添加:

4.關閉文件--close()方法

在用open方式打開文件時,在讀寫完成,都要使用close方法關閉文件,這是約定俗成的行爲,因爲File 對象的 close()方法刷新緩衝區裏任何還沒寫入的信息,並關閉該文件,這之後便不能再進行寫入。

語法:fo問你自定義命名的文件名,前面小白用了fo命名,這裏就用fo

fo.close()

5.文件定位

5.1文件內的當前位置--tell()方法

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "r+")
# 查找當前位置
position = fo.tell()
print ("當前文件位置 : ", position)
# 關閉打開的文件
fo.close()

結果:

 我們是剛打開文件,所以第一個位置的標號爲0

當前文件位置 :  0

5.2改變當前文件的位置--seek()方法

fo = open("D:/chen_lib工作文檔/works/IM/dict_test.txt", "r+")
# 把指針再次重新定位到文件開頭
position = fo.seek(0, 0)
str = fo.read(2)
print ("重新讀取字符串 : ", str)
# 關閉打開的文件
fo.close()

結果:

 我們這裏重新定位之後,和剛打開文件時候,讀到的第三個位置應該和前面直接打開,定位到第三個位置一樣,從結果來看,也是如此。

重新讀取字符串 :  好的

6.重命名文件--rename()方法

Python的os模塊提供了幫你執行文件處理操作的方法,比如重命名和刪除文件。要使用這個模塊,你必須先導入它,然後纔可以調用相關的各種功能。

import os
os.rename("D:/chen_lib工作文檔/works/IM/dict_test.txt", "D:/chen_lib工作文檔/works/IM/dict_test_rename.txt")

可以看到文檔名稱已經改了 

7.刪除文件--remove()方法

remove很簡單,和改名稱類似,這裏就不再演示了 

os.remove(file_name)

以上就是對文件的各種操作方法~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章