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()。