首页 > 解决方案 > 如何在子目录中搜索特定文件?

问题描述

假设 start.py 位于 C:\。

import os
path = "C:\\Users\\Downloads\\00005.tex"
file = open(path,"a+")
file. truncate(0)
file.write("""Hello
        """)
file.close()
os.startfile("C:\\Users\\Downloads\\00005.tex")

在子目录中可能有一些文件。例如:00001.tex、00002.tex、00003.tex、00004.tex。我想首先在 subdir 中搜索具有最高编号 (00004.tex) 的文件,并使用下一个编号 (00005.tex) 创建一个新文件,写入“Hello”并将其保存在 subdir 00005.tex 中。
零是必要的还是我也可以将它们命名为 1.tex、2.tex、3.tex ......?

标签: python

解决方案


从文字上看,“2”大于“100”,但在数字上当然是相反的。将文件写成“00002.txt”和“00100.text”的原因是对于编号为99999的文件,词法排序与数字排序相同。如果您将它们写为“2.txt”和“100.txt”,那么您需要在排序之前将名称的非扩展部分更改为整数。

在您的情况下,由于您想要下一个最大的数字,因此您需要将文件名转换为整数,以便获得最大值并加 1。由于无论如何您要转换为整数,您的程序并不关心您是否在前面加上零或不。

所以选择是基于外部原因。有什么理由让它可以进行文本排序吗?如果不是,那么选择纯粹是随机的,做任何你认为看起来更好的事情。


推荐阅读