如何通过删除存档日期来重命名文件扩展名

时间:2016-06-14 14:39:35

标签: python file rename

我认为这段代码应该包含该文件夹中的所有文件,并将.pdf_(date)重命名为.pdf。但事实并非如此。

import os,sys
folder = 'C:\/MattCole\/test'
for filename in os.listdir(folder):
       infilename = os.path.join(folder,filename)
       if not os.path.isfile(infilename): continue
       oldbase = os.path.splitext(filename)
       newname = infilename.replace('.pdf*', '.pdf')
       output = os.rename(infilename, newname)

示例:file1.pdf_20160614-050421重命名为file.pdf

目录中会有多个文件。有人能告诉我我做错了什么吗?我也尝试过计算扩展名并使用'.pdf????????????', '.pdf'

2 个答案:

答案 0 :(得分:2)

这有点傻,你有一些非常好的代码,你没有使用。你应该使用它。

import os,sys
folder = 'C:\/MattCole\/test'
for filename in os.listdir(folder):
       infilename = os.path.join(folder,filename)
       if os.path.isfile(infilename):
           oldbase, oldext = os.path.splitext(infilename)
           if oldext.startswith('.pdf'):           
               output = os.rename(infilename, oldbase+'.pdf')

答案 1 :(得分:0)

您想要在_上拆分旧文件名,然后将第一部分作为新名称:

>>> old_name = 'file1.pdf_20160614-050421'
>>> new_name = old_name.split('_')[0]
>>> new_name
'file1.pdf'