我正在編寫一個Python代碼,希望能更深入地瞭解如何解決這個問題。如何從一個目錄中的多個文件讀取和寫入? Python
我想讀取多個文件,以.log結尾。有了這個,我希望將具體的值寫入.csv文件。
在文本文件中,有被提取下面X/Y值:
Textfile.log:
X/Y = 5
X/Y = 6
Textfile.log.2:
X/Y = 7
X/Y = 8
DesiredOutput在CSV文件:
5
6
7
8
下面是代碼,我拿出這麼遠:
def readfile():
import os
i = 0
for file in os.listdir("\mydir"):
if file.endswith(".log"):
return file
def main():
import re
list = []
list = readfile()
for line in readfile():
x = re.search(r'(?<=X/Y =)\d+', line)
if x:
list.append(x.group())
else:
break
f = csv.write(open(output, "wb"))
while 1:
if (i>len(list-1)):
break
else:
f.writerow(list(i))
i += 1
if __name__ == '__main__':
main()
我對如何使它讀取.log文件,然後將.log.2文件混淆。 是否可以讓它自動讀取1個目錄中的所有文件,而無需單獨鍵入它們?
更新:我使用的是Windows 7和Python V2.7
啊我明白了,這很有道理。雖然我對list_of_files部分有點困惑。編譯器會如何知道如何依次讀取Textfile.log和Textfile.log.2? – user3685687
是否有可能讓它自動讀取所有文件而無需單獨鍵入它們? – user3685687
@ user3685687,是的,python能夠讀取給定目錄中的文件。一旦你的名單,你可以[很容易排序](https://wiki.python.org/moin/HowTo/Sorting),但是你想 – wnnmaw