【发布时间】:2017-08-08 00:14:35
【问题描述】:
输入:我想将递增的数字添加到按日期排序的目录中的文件名。例如,将“01_”、“02_”、“03_”...添加到下面的这些文件中。
test1.txt (oldest text file)
test2.txt
test3.txt
test4.txt (newest text file)
这是目前为止的代码。我可以获取文件名,但文件名中的每个字符似乎都是列表中自己的项目。
import os
for file in os.listdir("/Users/Admin/Documents/Test"):
if file.endswith(".txt"):
print(file)
预期结果是:
01_test1.txt
02_test2.txt
03_test3.txt
04_test4.txt
test1 是最旧的,test 4 是最新的。
如何为每个文件名添加 01_、02_、03_、04_?
我尝试过这样的事情。但它会在文件名中的每个字符中添加一个“01_”。
new_test_names = ['01_'.format(i) for i in file]
print (new_test_names)
【问题讨论】:
-
您是否希望拥有一个与您文件名中现有数字无关的独立计数器?或者您是否希望在文件名中使用数字并将其也设置在文件的开头?
-
如果您希望它们按年龄顺序重命名,您需要
os.listdir后跟sortedonos.path.getmtime。嗯...如果这确实是您的要求,我可能需要重新打开它,但是您没有在问题中明确说明,所以这点就在您身上。 -
@StacyM 将其明确添加到您的问题中,并使其更清晰一些。我会重新打开它。
-
还要清楚它是否只是
.txt文件或特定目录中的所有内容。细节很重要。 -
@StacyM 没有人会因为你不知道网站的运作方式而禁止你。 :) 无论如何,我不相信任何答案都能解决您对基于年龄编号的担忧,所以我冒昧地添加了我自己的答案。记住你可以accept the answer that helped you the most(仔细想想,因为你只能接受1。