鱼C论坛

 找回密码
 立即注册
查看: 3742|回复: 2

怎么批量更改文件夹里pdf的名称(需要大佬帮助)

[复制链接]
发表于 2022-10-14 09:32:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题是:
1.扫描文件夹里pdf的内容
2 提取文件中template name信息
3 将该文件名称变成 name + 今天的日期
比如 Global - INCHIGLE TECHNOLOGY HONGKONG LIMITED -9-15-2022
4 将文件储存在指定的文件夹中

这是我自己写的代码,但会出现.close无法关闭file.list(str类型)。如果把这行删掉,文件夹里的pdf文件会消失掉,导致到改名字的那部分代码报错,无法找到pdf。

import os
import re
import PyPDF2
import datetime

dirs='/Users/zan/Documents/Python/改名字/'
file_list=[]
for files in os.walk(dirs):
    for file in files[2]:
        if os.path.splitext(file)[1]=='.pdf'or os.path.splitext(file)[1]=='.PDF':
            file_list.append(dirs+file)
print(file_list)
n=0
for i in range(len(file_list)):
    pdfReader = PyPDF2.PdfFileReader(file_list[i])
    print(pdfReader.numPages)
    page_file = pdfReader.getPage(0)
    print(page_file.extractText())
    file_list[i].close()

    test = (page_file.extractText())
    p = re.compile(r'Template Name:(.*)')
    for one in p.findall(test):
        print(one)
    nowtime = datetime.datetime.now().strftime('%m-%d-%Y')
    p=0
    for t in file_list:
        oldname=file_list
        newname=one + '-' + str(nowtime) + '.pdf'
        os.rename(oldname,newname)
        p+=1
    n+=1
[/i][/i][img]blob:https://fishc.com.cn/39e0dc39-b567-4cd0-b4f5-bc47f94a50af[/img]>>>>>>>>如果删除.close那一串字符的话>>>>>>>>>>>>>>>>[img]blob:https://fishc.com.cn/3887fb06-2420-47c1-b712-0ff53b302ad9[/img]
   TRANSLATE with  x
    English

  
      
   

  TRANSLATE with
    COPY THE URL BELOW  
    [url=][/url]
  [url=][/url] Back
   
   EMBED THE SNIPPET BELOW IN YOUR SITE [url=][/url]
   
Enable collaborative features and customize widget: Bing Webmaster Portal
Back

  



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-14 17:16:53 | 显示全部楼层
本帖最后由 Stubborn 于 2022-10-14 17:18 编辑

还有你自己代码写的啥啊~
import os
import PyPDF2

PATH = r"D:\test"
file_list = []
for path, dirs, files in os.walk(PATH):
    for file in files:
        if os.path.splitext(file)[-1] in ['.pdf', '.PDF']:
            file_list.append(
                os.path.join(path, file)
            )


for pdf_path in file_list:
    pdf = PyPDF2.PdfReader(pdf_path)
    print(pdf.numPages)


把代码,和报错,贴标准一些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-9 16:54:48 | 显示全部楼层
我可以改,你是用C#写的。python刚学,还写不出来。我的QQ:82821182
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 08:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表