使用python访问连续的250个文件

时间:2017-05-05 16:58:13

标签: python

在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中的多个连续文件?

3 个答案:

答案 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