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