读取文件的6种方法

  • Post author:
  • Post category:其他


读取文件的6种方法

作者:冯德平(山野雪人)

#逐行读取文件
#方法1:
#该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,
#该方法返回一个字符串对象。

file = open(r"D:\temp\ccc.txt") # 打开文件,返回一个文件对象 
line = file.readline()          # 调用文件的 readline()方法
#逐行读取:
while line: 
    print(line, end = '')       # end = ''为忽略换行符
    line = file.readline() 
file.close()                    #关闭文件

#方法2:
#readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,
#每行作为一个元素,但读取大文件会比较占内存。

f = open(r"D:\temp\ccc.txt","r")    #r表示读取文本,rb表示读取二进制文件
lines = f.readlines()      #读取全部内容 ,并以列表方式返回
for line in lines:
    print(line,end = '') 


#方法3:
for line in open(r"D:\temp\ccc.txt"): 
    print(line, end = '')    

#方法4:
#读取全部或部分内容:
f = open ( r"D:\temp\ccc.txt" )
lines = f.read()
print(lines)    #输出文件全部内容
#read([size]),方法从文件当前位置起读取size个字节,若无参数size,
#则表示读取至文件结束为止,它范围为字符串对象
#如写成:lines = f.read(18)
#则只会读取部分文件的内容
print ( type (lines))
f.close()

#方法5:
# 读取文件第7行
import linecache
text = linecache.getline( r"D:\temp\ccc.txt", 7)
print(text)

#除了读取文本文件外,linecache也可以读取 .csv、.py文件
# -*- coding: utf-8 -*-
import linecache
print(linecache.getline(r'D:\temp\dataCN.csv', 4))
print(linecache.getline(r'C:\Users\USER\Desktop\aaa.py',2))

#方法6:
#读取全部文件内容
with open("abc.txt", "r",encoding='UTF-8') as f:  # 打开文件
    data = f.read()  # 读取文件
    print(data)

#参考资料:

#https://blog.csdn.net/zhengxiangwen/article/details/55148287

#https://blog.csdn.net/qq_30868235/article/details/80580259



版权声明:本文为weixin_42238077原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。