gpt4 book ai didi

python - 按照文件出现的顺序从文件夹中读取文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:19 25 4
gpt4 key购买 nike

我有一个文件夹。因为我有一些文件的顺序,filename_100,filename_101,filename_200,filename_201。我必须以相同的顺序阅读文件。我使用了下面的代码。但我无法获得预期的输出。它随机地从文件夹中读取文件。

代码:

for subdir, dirs, files in os.walk(order_path):
for file in files:
filepath = subdir + os.sep + file

有人可以建议我更好的解决方案吗?

最佳答案

您可能需要考虑按如下方式对文件名进行排序:

def get_number(filename):
if filename.find('_') != -1:
name, number = os.path.splitext(filename)[0].split('_')
return (name, int(number))
else:
return filename

for subdir, dirs, files in os.walk(order_path):
for file in sorted(files, key=get_number):
filepath = os.path.join(subdir, file)
print filepath

这将处理以下类型的命名:

filename_1.txt
filename_100.txt
filename_101.txt
filename_200.txt
filename2_1.txt
filename2_100.txt
filename2_101.txt
filename2_200.txt

该函数发现任何包含 _ 的文件,然后将数字转换为整数,它返回一个包含名称的元组,以便将不同名称的文件组合在一起。

如果您只对数字更感兴趣,即每个文件都有不同的名称,但您仍想保持数字顺序,则替换 get_number() 中的以下行功能:

return (int(number), name)

关于python - 按照文件出现的顺序从文件夹中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34286566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com