在Windows上的DOS或批处理文件中,我们可以访问多个连续文件fieldgen1.txt,fieldgen2.txt等,如下所示:
for /L %%i in (1,1,250) do (
copy fieldgen%%i.txt hk.ref
Process the file and go to next file.
我有250个文件名,如fieldgen1.ref,fieldgen2.ref等。现在我想访问一个文件,处理该文件,并在处理完成后访问另一个文件。我知道python喜欢这个
with open('fieldgen1.txt', 'r') as inpfile, with open('fieldgen2.txt', 'r') as inpfile:
我只能通过这种方式访问两个文件。有没有简单的方法来访问python中的多个连续文件?
答案 0 :(得分:1)
是的,您可以在python中访问和处理连续文件
for i in range(1, 251):
with open('fieldgen%s.txt' % i, 'r') as fp:
lines = fp.readlines()
# Do all your processing here
代码将循环并读取每个文件。然后,您可以在阅读完所有行后进行处理。您没有提及是否需要在处理过程中更改文件,因此我只是包括阅读部分。
如果确实需要回写文件,请确保在完成所有处理后执行此操作。
答案 1 :(得分:0)
您可以执行类似
的操作import os
files = os.listdir(".")
for f in files:
print (str(f))
这将打印当前运行目录中的所有文件和目录。获得文件名后,您可以使用它来处理内容。
答案 2 :(得分:0)
我会考虑使用字符串模板。
for i in range(1,251):
with open('fieldgen'+str(i)+'.txt', 'r') as fp:
#Parsing your file
或者您可以使用列表理解:
files = [open('fieldgen'+str(i)+'.txt', 'r') for i in range(1,251)]
for file in files:
#Parsing your file