Python的文件操作也看了不少資料,看是看懂了,但是沒多久就會忘,所以還是要自己多實踐,多理解,寫個筆記加強下理解。 這裡就以Python 3為例了,文件的操作直接使用with,比較簡潔 1、讀 現有文件1.txt,內容如下: 這是在測試文件的讀操作 <class 'str'> 繼續 這是在測試文 ...
Python的文件操作也看了不少資料,看是看懂了,但是沒多久就會忘,所以還是要自己多實踐,多理解,寫個筆記加強下理解。
這裡就以Python 3為例了,文件的操作直接使用with,比較簡潔
1、讀
現有文件1.txt,內容如下:
這是在測試文件的讀操作
test read file
abcde
12345
代碼如下:
with open("1.txt","r",encoding="utf-8") as f:
print(f.read(10000),type(f.read()))
結果將文件的內容都讀取出來了
如果這樣寫
with open("1.txt","r",encoding="utf-8") as f:
print(f.read(2))
出來的結果就是“這是”兩個字元
如果寫成
with open("1.txt","r",encoding="utf-8") as f:
print(f.read(2))
print(f.read(2))
出來的結果就是 “這是”
“在測”
總結:1、read(size)方法是從文件的起始位置開始讀取,讀到哪,游標就在哪,如果再次讀取,就從當前位置繼續讀取指定的字元;
2、不加size參數,預設讀取整個文件;
3、read方法返回的類型是str
再來看看readline(size)方法:
with open("1.txt","r",encoding="utf-8") as f:
print(f.readline(),type(f.readline()))
結果:
這是在測試文件的讀操作
<class 'str'>
繼續
with open("1.txt","r",encoding="utf-8") as f:
print(f.readline(2))
print(f.readline(2))
print(f.readline(100))
結果:
這是
在測
試文件的讀操作
再來
with open("1.txt","r",encoding="utf-8") as f:
print(f.readline(100))
print(f.readline(100))
print(f.readline(100))
結果:
這是在測試文件的讀操作
test read file
abcde
總結:1、readline(size)方法是讀取一行內容,不加size參數,預設是讀取一行,如果你想讀第二行,可以再寫一個同樣的不帶參數的方法;
2、該方法返回的類型是str;
3、加size參數,是按照size的位元組數來讀取一行,如果size小於該行的長度,則只讀取size位元組的字元;如果size大於該行長度,那就整行讀取,但是不會讀取到下一行;而且一行沒有讀取完,你寫多個同樣的方法,都還是一直在讀取這一行內容
繼續readlines(size)方法:
with open("1.txt","r",encoding="utf-8") as f:
print(f.readlines(),type(f.readlines()))
結果是:
['這是在測試文件的讀操作\n', 'test read file\n', 'abcde\n', '12345'] <class 'list'>
with open("1.txt","r",encoding="utf-8") as f:
print(f.readlines(2))
結果是:
['這是在測試文件的讀操作\n']
with open("1.txt","r",encoding="utf-8") as f:
print(f.readlines(2))
print(f.readlines(2))
結果是:
['這是在測試文件的讀操作\n']
['test read file\n']
with open("1.txt","r",encoding="utf-8") as f:
print(f.readlines(11))
和
with open("1.txt","r",encoding="utf-8") as f:
print(f.readlines(12))
兩個結果分別是:
['這是在測試文件的讀操作\n']
['這是在測試文件的讀操作\n', 'test read file\n']
總結:1、readlines(size)方法是讀取整個文件內容,不加size參數,就是整個文件都讀取;加了size參數,如果size小於第一行的長度,那就只讀取第一行內容,如果size大於或等於(包括換行符)第一行內容,則讀取第二行內容
2、該方法返回的類型是list,每行的內容是列表中的一個元素,加上換行符