我有一个按创建日期排序的文件名列表。这些文件在其创建日期时间的文件名中包含一个日期时间。我试图在一段时间后为所有文件创建一个子列表。为什么我的条件在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. –