如何在python中读取具有增量文件名的文件?

时间:2017-06-13 03:11:44

标签: python list file

我有多个文件,名称如file00001,.....,file00111,..... file01555等。我想在python中以增量方式读取它们。什么是最好的方法呢?最初我使用创建时间以增量顺序读取它们但不幸的是,当我将这些文件传输到另一台计算机时,创建文件的时间和它们的名称不再匹配。所以这段代码不起作用。我的代码是这样的。一些命令是软件特定的,如pymol,cmd,但我认为其余代码非常通用。我很抱歉,如果问题没有被正确询问,但我对python非常新手,编程不是我的职业。它帮助我更有效地完成工作,这就是我尝试它的原因。

My code

由于 DHIRAJ

2 个答案:

答案 0 :(得分:2)

如果您想立即对文件执行某些操作,请继续:

def get_files():
    MAX_FILE_NUM = 100 #change
    fmat = lambda x: '{:05}'.format(x)

    for i in range(1, MAX_FILE_NUM + 1):
        path = 'file' + fmat(i)
        new_file = open(path, 'r')
        # Do something with the new_file object...

get_files()

如果您希望能够从函数中一次获取一个文件:

def get_files():
    MAX_FILE_NUM = 100 #change
    fmat = lambda x: '{:05}'.format(x)
    for i in range(1, MAX_FILE_NUM + 1):
        path = 'file' + fmat(i)
        new_file = open(path, 'r')
        yield new_file

files = get_files()

print(next(files)) #<file object 1>
print(next(files)) #<file object 2>

答案 1 :(得分:0)

你应该尝试这样的事情

import glob
path = ''#your path
files = glob.glob(path)
for name in files:
    with open(name) as f:
            for line in f:
                print(line.split())

您可以阅读有关glob的更多信息,并了解如何针对您的问题进行调整glob