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     

 

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