【发布时间】:2014-10-14 14:03:02
【问题描述】:
我在一个目录中有一堆文件。它们会使用以下名称自动下载:
new.pdb
new(1).pdb
new(2).pdb and so on
我有一个实际文件名列表,例如:
AAA
BBB
CCC
我想要一种方法来重命名列表中相应名称的文件,其中 new.pdb 将是 AAA.pdb,new(1).pdb 将是 BBB.pdb 等等。 如果您能在投反对票之前给我一个提示,我将不胜感激。我已经尽力解决这个问题,但不能。 到目前为止,我已经尝试过了。但是以下代码的问题是,一些文件的下载速度可能比在它们之前开始的文件要快。所以它不会像我想要的那样重命名。
infiles = filter(os.path.isfile, os.listdir(os.getcwd()))
infiles = [os.path.join(os.getcwd(), f) for f in infiles]
infiles.sort(key=lambda x: os.path.getmtime(x))
last_file = infiles[-1]
if rename_files.endswith(".pdb"):
os.rename(last_file, directory_name+".pdb")
【问题讨论】:
-
你有
last_file = infiles[-1]然后你尝试用for rename_files in last_file:循环那个单一的路径我认为这不是你在问题文本中描述的那样。 -
for 循环是我后来尝试过的,看看它是否有什么不同。感谢您的捕获! @dawg
标签: python regex file batch-file rename