python - 如何对文件中的int进行排序
问题描述
我有这个代码:
import glob
import os
for file in glob.glob("./data/*.jpg"):
lel=(os.path.basename(file))
lel = (os.path.splitext(lel)[0])
list1 = lel
list1 = [int(x) for x in list1]
list1.sort()
print(list1)
它给出了这个输出:
[0]
[1]
[0, 1]
[1, 1]
[1, 2]
[1, 3]
[1, 4]
[1, 5]
[1, 6]
[1, 7]
[1, 8]
[1, 9]
[2]
[0, 2]
[1, 2]
[2, 2]
[2, 3]
[2, 4]
[2, 5]
[2, 6]
[2, 7]
[2, 8]
[2, 9]
[3]
[0, 3]
[1, 3]
[2, 3]
[3, 3]
[3, 4]
[4]
[5]
[6]
[7]
[8]
[9]
有没有办法让它输出这个?:
0
1
2
3
4
5
6
7
8
9
10
etc etc..
解决方案
此代码应该可以工作:
import glob
import os
list1 = []
for file in glob.glob("./data/*.jpg"): # iterate over filename
list1.append(
os.path.splitext(
os.path.basename(file)
)[0]
) # strip away path and extension and append to the list1
print(*sorted(list1)) # print it out
您正在遍历文件名的字母,并将每个字母转换为 int。你甚至可以通过列表理解来做到这一点:
import glob
import os
list1 = [os.path.splitext(os.path.basename(filename))[0] for filename in glob.glob("./data/*.jpg")]
print(*sorted(list1))
推荐阅读
- android-studio - Facebook喜欢和评论不适用于Android webview
- python - 网页抓取——find_all() 返回空列表
- arrays - 切片数组文字
- ios - 未调用 userNotificationCenter(_:didReceive:withCompletionHandler:)
- javascript - 使用数据变量动态设置属性样式填充
- php - 文件上传但名称为空
- sql - postgres中如何将csv文件加载到多个表中(主要关注最佳实践)
- graphics - 了解 Oren-Nayar 反射模型
- pandas - 计算过去满足类似于 excel 的 COUNTIF 条件的相对行数
- reactjs - 是否有正确的方法将对象用作 useEffect 中的依赖项?