我认为这段代码应该包含该文件夹中的所有文件,并将.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'
答案 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'