琪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
为啥是读取内容然后重命名吖?读取的时候肯定打开占用的,文件打开了,就没法改名。读取后关闭文件,然后重 ...
现在我就是不知道怎么关闭掉 再用OS 重命名 试试
pdf.flush_cache()
pdf.close() btc001 发表于 2023-1-19 18:15
试试
不行,用了pdfplumber open as pdf, 但pdf关闭没效,写了print(‘1’)和2 去测试程序有没跳步,但又没跳。pdfplumber 没有另存为或者覆盖这个功能,有点难 LK-Hulk 发表于 2023-1-19 18:25
不行,用了pdfplumber open as pdf, 但pdf关闭没效,写了print(‘1’)和2 去测试程序有没跳步,但又没 ...
你非要用文字操作吗 pdf2 没试吗
页:
[1]