0
大家好,首先這裏的List是我的代碼:數據附加到從字典檢索的Python
import os
rootdir= 'C:\Documents and Settings\Guest\My Documents\SC\Actual work\Part2\New Folder'
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(file,'rU')
lines = f.readlines()
f.close()
for line in lines:
if "2002" in line:
print line
這實現了我參加了在目錄中,僅打印線搜索所有的文件匹配造成2002年本該再只是將它們輸出到shell中的一長串2002值中。
我想知道的是有一種方法可以將每個數據關聯到它的文件,稍後再調用。我可以在循環的某個地方添加一個append/extend語句,以便將每個數據關聯到它的文件。即我想要的輸出是:
datafile("name") = [list of all 2002 matches]
datafile("name2") = [list of all 2002 matches in file 2]
以便我可以稍後調用這些列表。我想要這樣做,在代碼中搜索並即時創建列表。我的新代碼在下面,但它不會將所有第一個文件數據分組到一個列表中,它只是將每個匹配打印到列表中。
rootdir= 'C:\Documents and Settings\Guest\My Documents\SC\Actual work\Part2\New Folder'
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(file,'rU')
lines = f.readlines()
f.close()
for line in lines:
newlist=[]
if "2011" in line:
x= newlist.append(line)
print newlist
嗯不是真的這樣didnt實現我的結果。它只是將數據添加到一個大名單。不是包含每個名稱及其值的單個列表。我在之後。文件名= [第一個文件的所有2011年數據],文件名2 = [第二個文件的所有數據] – Newbie
不太確定你想要什麼...你有沒有嘗試打印數據文件? – jh314
是的,看起來更好。我可以通過輸入名稱來訪問數據。有沒有辦法通過循環來調用所有的名字?我可以通過打印數據文件獲取文件名,而不必輸入每個值 – Newbie