我在一個文件夾中有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 –