我有一个文件夹,其中包含名为0.txt
to 的文件100.txt
。它们是从列表中按顺序创建的L
。
我想使用列表中的名称重命名该文件夹中的文件,但是,它们以“错误”的顺序重命名,这意味着它们没有重命名为列表。我的代码是这样的:
import os
folder = r'D:\my_files'
os.chdir(folder)
for i,j in zip(os.listdir(folder), L):
os.rename(i, j + ".txt")
其中 L 是包含文件名称的列表。
如何保持目录中文件的顺序以匹配我在L
列表中的名称,以便根据我的列表重命名文件?
根据 Python文档:
os.listdir(path='.')
返回一个包含路径给定目录中条目名称的列表。该列表按任意顺序排列,不包括特殊条目“.”。和 '..' 即使它们存在于目录中。
因此,您需要在使用之前对文件进行排序zip
:
for i,j in zip(sorted(os.listdir(folder), key=lambda x: int(x.split('.')[0])), L):
# logic to rename file
使用sorted
,该参数key=lambda x: int(x.split('.')[0])
将确保排序正确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句