shenshuai 发表于 2022-10-14 09:32:08

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

问题是:
1.扫描文件夹里pdf的内容
2 提取文件中template name信息3 将该文件名称变成 name + 今天的日期比如 Global - INCHIGLE TECHNOLOGY HONGKONG LIMITED -9-15-20224 将文件储存在指定的文件夹中
这是我自己写的代码,但会出现.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:
      if os.path.splitext(file)=='.pdf'or os.path.splitext(file)=='.PDF':
            file_list.append(dirs+file)
print(file_list)
n=0
for i in range(len(file_list)):
    pdfReader = PyPDF2.PdfFileReader(file_list)
    print(pdfReader.numPages)
    page_file = pdfReader.getPage(0)
    print(page_file.extractText())
    file_list.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+=1blob:https://fishc.com.cn/39e0dc39-b567-4cd0-b4f5-bc47f94a50af>>>>>>>>如果删除.close那一串字符的话>>>>>>>>>>>>>>>>blob:https://fishc.com.cn/3887fb06-2420-47c1-b712-0ff53b302ad9    TRANSLATE withx
    English
ArabicHebrewPolish
BulgarianHindiPortuguese
CatalanHmong DawRomanian
Chinese SimplifiedHungarianRussian
Chinese TraditionalIndonesianSlovak
CzechItalianSlovenian
DanishJapaneseSpanish
DutchKlingonSwedish
EnglishKoreanThai
EstonianLatvianTurkish
FinnishLithuanianUkrainian
FrenchMalayUrdu
GermanMalteseVietnamese
GreekNorwegianWelsh
Haitian CreolePersian





      
   

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




Stubborn 发表于 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)


把代码,和报错,贴标准一些{:10_257:}

xibu001 发表于 2023-3-9 16:54:48

我可以改,你是用C#写的。python刚学,还写不出来。我的QQ:82821182
页: [1]
查看完整版本: 怎么批量更改文件夹里pdf的名称(需要大佬帮助)