提问人:Lamb Sauce 提问时间:5/9/2023 最后编辑:TimusLamb Sauce 更新时间:5/12/2023 访问量:69
使用 python 将文件名从目录读入 .csv 文件,同时保持它们的顺序
Reading filenames from directory into a .csv file using python while maintaining the order that they're in
答:
2赞
tripleee
5/9/2023
#1
os.scandir()
以操作系统返回文件的顺序返回文件。如果您指的是存储在目录中的顺序,这是最接近“原始订单”的顺序。
import os
import csv
with open('file.csv', 'w') as output:
writer = csv.writer(output)
for file in os.scandir():
writer.writerow([file.name])
将 CSV 文件用于简单的单列文本有点愚蠢,但也许您的用户并不复杂(或者您的文件名真的很复杂,您需要正确处理带有换行符的文件名等)。
您的图片看起来文件只是按字母顺序排列,这就是某些文件浏览器的显示方式。 将按字母顺序生成文件,或者如果要应用某种自定义排序顺序,例如按创建日期(如果您的操作系统提供)或最新修改日期),则仅应用于您从中获取的列表。(返回的对象具有包含此信息的成员。os.listdir()
sorted()
os.scandir()
os.scandir
.stat
0赞
Lamb Sauce
5/12/2023
#2
我通过简单地将所有文件重命名为 000、001、002 等来解决这个问题。然后,当我按字母数字对文件进行排序时,它会使一切变得更好。我认为 python 库中的排序函数与 MS Windows 中使用的算法略有不同。 谢谢tripleee!
评论
1赞
Mark Ransom
5/13/2023
Python 使用的排序顺序严格是字母数字,除非您使用参数。Windows 使用类似于我在评论中提到的自然排序的东西。key
评论
ls
ls
find