我在一个文件夹中有30,000个文件。从0
开始到30000
。我想从头至尾以10
的间隔读取结束编号高于5000
的时间间隔。我已经创建了下面的代码,生成两个不同范围的数字文件名
此代码读取我的文件0
到5000
。但我需要它读取间隔10时endfile
大于5000
。因此,必须有两个条件,一个用于endfile
小于或等于5000
它将读取0
至5000
,另一个用于endfile
高于5000
,其中程序的读取间隔为10
。任何想法如何写在python中?
我在一个文件夹中有30,000个文件。从0
开始到30000
。我想从头至尾以10
的间隔读取结束编号高于5000
的时间间隔。我已经创建了下面的代码,生成两个不同范围的数字文件名
此代码读取我的文件0
到5000
。但我需要它读取间隔10时endfile
大于5000
。因此,必须有两个条件,一个用于endfile
小于或等于5000
它将读取0
至5000
,另一个用于endfile
高于5000
,其中程序的读取间隔为10
。任何想法如何写在python中?
通过使用os.listdir可以找到目录中的文件数量;
>>> import os
>>> n_files = len(os.listdir(read_path))
>>> n_files
74
一旦你这样做,你可以选择你的步长和处理给予一步参数范围内每10个文件;
>>> startFile = 0
>>> endFile = 5000
>>> step = 1 if n_files <= endFile else 10
>>> for k in range(startFile, endFile + 1, step):
>>> execfile(read_path + str(k) + ".py")
仅供参考range(start,stop,step)参数。步骤是索引增量大小,如果将其设置为n,它会选取第第个第n个元素。
>>> [i for i in range(0, 100, 10)]
[0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
而不是引入n_file,我可以直接写入,如果endFile <= 5000 else 10 (范围内的startFile,endFile + 1,step),则step = 1: execfile(read_path + str(k)+“.py”) –
@TanvirHossain是的,你可以,我用n_files更容易阅读。但是在你的评论中,'endfile <= 5000'将始终为真,因为你初始化它。你想用'len(os.listdir(read_path))'替换'n_files'吗? – umutto
实际上我不需要n_file,因为我可以根据需要定义数字。它可以是100或1000或10000.我只需要在这里介绍两个不同情况下的步骤,以减少模拟时间。 –
你的意思是像'在10个文件块“或每10个文件。后者可以通过在for循环中添加第三个参数(步骤)轻松解决。 '如果endfile> = 500:对于范围内的k(startFile,endFile + 1,10)' – umutto
这不是关于生成字符串的问题吗? –
@umutto每10个文件。因为30000个文件包含数据加载,我需要该程序来转义某个文件。因为我可以修改endFile,所以最好同时具有一个endfile <= 5000和一个endFile> 5000 –