我正在编写一个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