python逐行读
❶ python逐行读取txt文件 每行为一个list
#!/usr/bin/envPython
#coding=utf-8
importre
#你的文件路径
path="./tags.txt"
#读取文件
file=open(path,encoding="utf-8")
#定义一个用于切割字符串的正闷旅盯则
seq=re.compile("s+")
result=[]
#逐行读取
forlineinfile:
lst=seq.split(line.strip())
item={
"name":lst[0],
"val":lst[1:]
}
result.append(item)
#关闭文件
file.close()
print(result)
#输出结果类似:
[
{
"name":1,
镇启"val":["v1","v2"蚂和]
},
{
"name":2,
"val":["v1","v2"]
}
]
❷ python readline逐行读,怎么判断已到末尾
代码如下:
filename = raw_input('Enter your file name') #输入要遍历读取的文件路径及文件名
file = open(filename,'r')
done = 0
while not done:
aLine = file.readline()
if(aLine != ''):
print aLine,
else:
done = 1
file.close() #关闭文件
上面是我们经常看到的按行遍历一个文件方法,你可能已经注意到我在代码中写的if(aLine != '' ):部分。当readline读取到为空的时候,意味着读到了文件的结束。这个时候,问题就在这里,很多人会想,是不是遇到一个空行,也会被认为是文件的结束呢?这就引入了标题的问题。
事实上,文件的空白行并不会返回一个空行。因为在每一行的末尾还有一个或者多个分隔符,因此“空白行”至少会有一个换行符或者系统使用的其他符号。所以,即使文件中真的包含一个“空白行”,读入的行也不是空的,这就意味着在真实遍历读取到文件结束之前,程序实际上是不会停止的
readline() 和 .readlines() 非常相似。它们都在类似于以下的结构中使用:
Python .readlines()
示例如下:
复制代码代码如下:
fh = open('c:\autoexec.bat')
for line in fh.readlines():
print line
.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。