一、文件读取的大致格式
f = open('path','r')
a = f.read()
f.close() 注意不要丢括号。
二、文件读取的三种类型
a = f.read() 读整个文件,a是一个大字符串。不推荐。
b = f.readline() 读当前一行
c = f.readlines() 返回一个列表,列表数据项为[line1,line2....,lineN]
三、例子
1. 读取一行文件,生成一个列表。
f = open('D:\\学习\\Python\\各章实验内容答案与素材参考\\ch5\\文本文件\\data1.txt','r')
d = f.read()
print(d)
f.close()
d = d.split()
print(d)
for i in range(0,len(d)-1+1):
d[i] = int(d[i])
print(d)
2. 读取一列文件,生成一个列表
f = open('D:\\学习\\Python\\各章实验内容答案与素材参考\\ch5\\文本文件\\data2.txt','r')
d = f.read()
print(d)
f.close()
d = d.split()
print(d)
for i in range(0,len(d)-1+1):
d[i] = int(d[i])
print(d)
split() 可以去除白空格,所以两个代码是差不多的,对列和行都能用。
不建议用read(),更建议用循环+readline()
#D:\学习\Python\各章实验内容答案与素材参考\ch5\文本文件
f = open('D:\\学习\\Python\\各章实验内容答案与素材参考\\ch5\\文本文件\\data2.txt','r')
L2 = []
while True:
line = f.readline()
print(line)
if len(line)==0:
break
else:
L2.append(int(line))
print(L2)
f.close()
吐槽一下。。。py自带的idle真的好难用,每次缩进都有问题,拷贝到pycharm上一看一团糟。难道是我不会用?各种tab宽度也调了,没有用。。。
也可以用readlines()方法。
#D:\学习\Python\各章实验内容答案与素材参考\ch5\文本文件
f = open('D:\\学习\\Python\\各章实验内容答案与素材参考\\ch5\\文本文件\\data2.txt','r')
L2 = f.readlines()
print(L2)
for i in range(0,len(L2)-1+1):
L2[i] = int(L2[i])
print(L2)
f.close()