LK-Hulk 发表于 2023-1-19 16:30

琪Python with pdfplumber打开后一直占用资源怎么关闭

如题,报错该如何解决?
需求是读取PDF里面的内容然后重命名这个PDF文件。
源码:
import pdfplumber
import threading
import os
from concurrent.futures import ThreadPoolExecutor


def files_sum():
    global file_path
    file_path=r'C:/Users/ASUS/Desktop/处理好的文件'
    global f
    f=0
    file_list=os.listdir(file_path)
    for i in file_list:
      f=f+1
    print('共有{}个label转换'.format(f))

def label_convert():
    file_path = r'C:/Users/ASUS/Desktop/处理好的文件'
    os.chdir(file_path)
    for root, dirs, files in os.walk(file_path):
      for a in range(0, f):
            pdf_path=r'C:/Users/ASUS/Desktop/处理好的文件/{}'.format(files)
            original_files_name=files
            files_name=original_files_name.replace('.pdf','')
            withpdfplumber.open(pdf_path) as pdf:
                for page in pdf.pages:
                  text=page.extract_text()#对指定页提取文本
                  dir0 = 0],text[1], text[2], text[3], text[4], text[5], text[6], text[7], text[8], text[9]]
                  FNSKU = ''.join(dir0)
                  new_name=files_name+'-'+FNSKU
                pdf.close()
            os.rename(file_path,os.path.join('C:/Users/ASUS/Desktop/处理好的label',f"{new_name}"))
            print(new_name+'重命名成功')

t0 = threading.Thread(target=files_sum())
t0.start()
t0.join()
t1 = threading.Thread(target=label_convert())
t1.start()
t1.join()
global is_running
is_running = False
print('转换完成')

RoyPenn 发表于 2023-1-19 16:49

为啥是读取内容然后重命名吖?读取的时候肯定打开占用的,文件打开了,就没法改名。读取后关闭文件,然后重命名?

LK-Hulk 发表于 2023-1-19 17:38

RoyPenn 发表于 2023-1-19 16:49
为啥是读取内容然后重命名吖?读取的时候肯定打开占用的,文件打开了,就没法改名。读取后关闭文件,然后重 ...

现在我就是不知道怎么关闭掉 再用OS 重命名

btc001 发表于 2023-1-19 18:15

试试
pdf.flush_cache()
pdf.close()

LK-Hulk 发表于 2023-1-19 18:25

btc001 发表于 2023-1-19 18:15
试试

不行,用了pdfplumber open as pdf, 但pdf关闭没效,写了print(‘1’)和2 去测试程序有没跳步,但又没跳。pdfplumber 没有另存为或者覆盖这个功能,有点难

btc001 发表于 2023-1-19 19:24

LK-Hulk 发表于 2023-1-19 18:25
不行,用了pdfplumber open as pdf, 但pdf关闭没效,写了print(‘1’)和2 去测试程序有没跳步,但又没 ...

你非要用文字操作吗 pdf2 没试吗
页: [1]
查看完整版本: 琪Python with pdfplumber打开后一直占用资源怎么关闭