我有一個按創建日期排序的文件名列表。這些文件在其創建日期時間的文件名中包含一個日期時間。我試圖在一段時間後爲所有文件創建一個子列表。爲什麼我的條件在Python中不被滿足
全部文件列表 -
Allfilenames = ['CCN-200 data55347.csv',
'CCN-200 data60000.csv',
'CCN-200 data63235.csv',
'CCN-200 data70000.csv',
'CCN-200 data80000.csv',
'CCN-200 data90000.csv',
'CCN-200 data 130321100000.csv',
'CCN-200 data 130321110000.csv',
'CCN-200 data 130321120000.csv',
'CCN-200 data 130321130000.csv',
'CCN-200 data 130321140000.csv',
'CCN-200 data 130321150000.csv']
positions [19:24]
給格式HHMMSS時間。我使用
filenames = [s for s in Allfilenames if os.path.basename(s)[19:24] >= TOffRound]
TOffRound = "080000"
結果應該是日或之後或08:00:00創建的所有文件名列表,但是結果列表中缺少「080000」的文件。
filenames = ['CCN-200 data90000.csv',
'CCN-200 data 130321100000.csv',
'CCN-200 data 130321110000.csv',
'CCN-200 data 130321120000.csv',
'CCN-200 data 130321130000.csv',
'CCN-200 data 130321140000.csv',
'CCN-200 data 130321150000.csv']
爲什麼沒有條件,條件的部分=返回true,在我的名單返回「CCN-200數據80000.csv」?請注意,爲了清晰起見,我只在這裏顯示了基本名稱。
因爲你比較字符串就好像它們是整數。 – DeepSpace
我想你應該在列表集合之前設置'TOffRound' –
Look:'[所有文件名中的[os.path.basename(s)[19:24]] ['05534','06000','06323', '07000','08000','09000','10000','11000','12000','13000','14000','15000']。你必須使用25,而不是24. –