【发布时间】:2020-03-03 19:09:16
【问题描述】:
我正在使用此代码获取特定目录中所有文件夹的列表:
TWITTER_FOLDER = os.path.join('TwitterPhotos')
dirs = [d for d in os.listdir(TWITTER_FOLDER) if os.path.isdir(os.path.join(TWITTER_FOLDER, d))]
这是数组:['1','2','3','4','5','6','7','8','9','10','11']。
我想按这个顺序获取数组:['11','10','9','8','7','6','5','4','3','2','1']
所以我使用这个代码:
dirs.sort(key=lambda f: int(filter(str.isdigit, f)))
当我使用它时,我得到了这个错误:
int() argument must be a string, a bytes-like object or a number, not 'filter'
知道是什么问题吗?或者我如何以另一种方式对其进行排序? 数组将按数字顺序排序很重要,例如:
12 11 10 9 8 7 6 5 4 3 2 1
而不是:
9 8 7 6 5 4 3 2 12 11 1
谢谢!
【问题讨论】: