python文件讀取

文件的讀取:read(),readline(),readlines()

文件的寫入:write(),writelines()

其他函數:tell()返回一個整數,是當前文件指針的位置。seek(偏移量,[起始位置])

文件的打開方式可以用:with open("xx.txt","r") as file:  

文件read.txt中的內容:

1.時難年荒世業空,弟兄羈旅各西東。
2.田園寥落干戈後,骨肉流離道路中。
3.弔影分爲千里雁,辭根散作九秋蓬。
4.共看明月應垂淚,一夜鄉心五處同。

1. read()

>>> file=open("read.txt")
>>> a=file.read()  #讀取文件內容的全部,文件過大時,會佔用內存過大
>>> a
>>> file.close()
'1.時難年荒世業空,弟兄羈旅各西東。\n2.田園寥落干戈後,骨肉流離道路中。\n3.弔影分爲千里雁,辭根散作九秋蓬。\n4.共看明月應垂淚,一夜鄉心五處同。'

 

>>> file=open("read.txt")
>>> a=file.read(3) #按字節讀取
>>> a
'1.時'
>>> file.close()

2. readline() 

>>> file=open("read.txt")
>>> a=file.readline()   #讀取一行
>>> a
'1.時難年荒世業空,弟兄羈旅各西東。\n'
>>> file.close()

3. readlines() 

>>> file=open("read.txt")
>>> a=file.readlines() #讀取文件全部內容,按行讀取,返回列表
>>> a
['1.時難年荒世業空,弟兄羈旅各西東。\n', '2.田園寥落干戈後,骨肉流離道路中。\n', '3.弔影分爲千里雁,辭根散作九秋蓬。\n', '4.共看明月應垂淚,一夜鄉心五處同。']
>>> file.close()

4. 使用for循環遍歷文件對象 

>>> file=open("read.txt")
>>> for each in file:
	print(each)

1.時難年荒世業空,弟兄羈旅各西東。

2.田園寥落干戈後,骨肉流離道路中。

3.弔影分爲千里雁,辭根散作九秋蓬。

4.共看明月應垂淚,一夜鄉心五處同。
>>> file.close()

 5. write() 參數只能是string,只是單純的加入內容,不會在內容後加其他東西

>>> file=open("write.txt","w")  #打開方式爲“w”,會覆蓋原文件的內容
>>> L="HELLO,PYTHON"
>>> file.write(L)
12
>>> file.close()
此時文件的內容是:
HELLO,PYTHON
>>> file=open("write.txt","w")
>>> L="HELLO,PYTHON,\nI LOVE YOU"
>>> file.write(L)
24
>>> file.close()
此時文件的內容:
HELLO,PYTHON,
I LOVE YOU

參數是非字符串,報錯

>>> file.close()
>>> file=open("write.txt","w")
>>> L=123    
>>> file.write(L)
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    file.write(L)
TypeError: write() argument must be str, not int

writelines(): 參數必須是list/string/dict/tuple 等可迭代序列對象,且裏面內容須是字符。它會自動迭代裏面的內容並寫入文件,只是單純的按順序把內容寫入,不會在每個被迭代元素後面加任何東西。

>>> file=open("write.txt","w")
>>> L=["HELLO","PYTHON","I","LOVE","YOU"]
>>> file.writelines(L)  #參數是列表
>>> file.close()
此時文件內容是:
HELLOPYTHONILOVEYOU
>>> file=open("write.txt","w")
>>> L={"name":"wang hailu","age":34,"score":598}
>>> file.writelines(L)
>>> file.close()
此時文件的內容:
nameagescore     

 

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