读取文件的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 版权协议,转载请附上原文出处链接和本声明。