吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 885|回复: 5
收起左侧

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

[复制链接]
LK-Hulk 发表于 2023-1-19 16:30
如题,报错该如何解决?
需求是读取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[a])
            original_files_name=files[a]
            files_name=original_files_name.replace('.pdf','')
            with  pdfplumber.open(pdf_path) as pdf:
                for page in pdf.pages:
                    text=page.extract_text()  #对指定页提取文本
                    dir0 = [text[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('转换完成')
pic.jpg

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
试试
[Python] 纯文本查看 复制代码
pdf.flush_cache()
pdf.close()
 楼主| LK-Hulk 发表于 2023-1-19 18:25

不行,用了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 没试吗
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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