python對檔案的操作

2021-07-11 15:26:06 字數 2660 閱讀 6500

readlines()方法並不像read()和readline()方法一樣返回乙個字串。它會讀取所有(剩餘)行然後把它們作為乙個字串列表返回。

python2.1中加入了乙個新的物件型別用來高效地迭代檔案的行:xreadlines物件(可以在xreadlines模組中找到)。呼叫file.xreadlines()等價於xreadlines.xreadlines(file)。xreadlines()不是一次性讀取所有的行,而是每次讀取一塊,所以用在for迴圈時可以減少對記憶體的占用。不過,隨著python2.3中迭代器和檔案迭代的引入,沒有必要再使用xreadlines()方法,因為它和使用iter(file)的效果是一樣的,或者在for迴圈中,使用for eachline in file代替它。它來得容易,去得也快。

1. 讀取檔案

檔案為read_it.txt,內容為:

1)按字元讀取檔案

#按字元讀取檔案

text_file=open("read_it.txt","r")

print(text_file.read(1))

print(text_file.read(5))

text_file.close()

輸出結果為

read()可以從檔案中讀取指定數量的字元,得到的結果會以字串的形式返回。每一次read()都會從上次結束的地方開始。

#按字元讀取檔案

text_file=open("read_it.txt","r")

whole_thing=text_file.read()

print(whole_thing)

text_file.close()

輸出結果為

如果不指定字元數,python就會將整個檔案以字串的形式返回。

2)按行讀取檔案

readline()方法用於讀取當前行中的字元。只需給定希望從當前行讀出的字元數,它就會以字串的形式返回結果。如果不設定這個數字,它就會從當前位置一直讀取到行末。

text_file=open("read_it.txt","r")

print(text_file.readline())

print(text_file.readline())

print(text_file.readline())

text_file.close()

輸出:

注意結果中的那些空行。那是因為該文字檔案中的每一行都是以換行符("\n")結束的。

3)將所有行讀取為乙個列表

另外一種用於按行處理文字檔案的方法,即readlines()方法。它會將整個文字檔案讀取成乙個列表,檔案中的每行文字將會成為那個列表中的乙個字串元素。

#將所有行讀取成乙個列表

text_file=open("read_it.txt","r")

lines=text_file.readlines()

print(lines)

for line in lines:

print(line)

輸出:

對檔案進行迴圈遍歷

可以用for迴圈直接對檔案中的行進行迭代

text_file=open("read_it.txt","r")

for line in text_file:

print(line)

text_file.close()

輸出:

迴圈變數line依次得到了檔案中的每一行。迴圈的第一次迭代獲得第一行;第二次迭代獲得第二行;依次類推。當希望對檔案進行逐行處理時,這就是一種非常簡潔的方法。

文字檔案訪問模式

「r"讀取文字檔案。如果檔案不存在,python將會給出乙個錯誤。

"w「寫入文字檔案。如果檔案已經存在,則會被覆蓋掉。如果檔案不存在,則會被建立出來。

輸出write()方法的功能與read()和readline()相反。它把含有文字資料或二進位制資料塊的字串寫入到檔案中去。

和readlines()一樣,writelines()方法是針對列表的操作,它接受乙個字串列表作為引數,將它們寫入檔案。行結束符並不會被自動加入,如果需要的話,你必須在呼叫writelines()前給每行結尾加上行結束符。

注意這裡並沒有writeline()方法,因為它等價於使用以行結束符結尾的單行字串呼叫write()方法。

python對檔案操作

python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函式用來刪除乙個檔案 os.remove 刪除多個目錄 os.removedi...

python對檔案操作

python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函式用來刪除乙個檔案 os.remove 刪除多個目錄 os.removedi...

python對檔案的操作

coding utf8 python常見檔案操作示例 os.path 模組中的路徑名訪問函式 分隔basename 去掉目錄路徑,返回檔名 dirname 去掉檔名,返回目錄路徑 join 將分離的各部分組合成乙個路徑名 split 返回 dirname basename 元組 splitdrive...