0

我编写了一个 python 脚本来读取当前文件夹(共享磁盘内)中的 pdfs 文件以查找特定编号,然后在其他文件夹(同一共享磁盘)中搜索该编号。如果匹配,使用 PyMuPDF 我将两个文件合并到一个新文件中。之后,将该文件移动到其他文件夹。问题是我需要在我的工作笔记本中,在共享磁盘中进行。(该磁盘中没有安装python)。我只在笔记本的 c:\user 中安装了 Anaconda。因此,使用 jupyter notebook 脚本运行完美,但是当我将其转换为 exe 文件(使用 pyinstaller)时,它不再工作,在我的 C 盘中也没有共享磁盘。我需要一个 exe 文件来在共享磁盘中执行该脚本。

我的脚本如下


import fitz
import os
import shutil
from tkinter import *
from tkinter import messagebox

archis = os.listdir()
archivos = os.listdir("N:\\...\\DJVE 2021")

window = Tk()
window.eval('tk::PlaceWindow %s center' % window.winfo_toplevel())
window.withdraw()

dejotas = 0
cant_veps = 0

unir_djs = messagebox.askquestion("Pregunta","Desea unir los Veps a las DJVE?")
if unir_djs == "yes":
 
    try:
        
        for files in archis:
            files_splited = files.split(".")
            if files_splited[1] == "pdf":
                raw_file = fitz.open(files)

                for pageNumber, page in enumerate(raw_file.pages(), start = 1):
                    text = page.getText()

                    try:
                        for files_dj in archivos:
                            if files_dj[0:15] in text:
                                file_dj = fitz.open("N:\\....\\DJVE 2021\\" + files_dj)
                                raw_file.insertPDF(file_dj, start_at=0)
                                raw_file.save(files_dj)
                                file_dj.close()
                                raw_file.close()
                                shutil.move(files_dj, "N:\\...\\DJVE 2021\\Djve con veps")
                                dejotas += 1
                                cant_veps += 1 
                    except:
                        messagebox.showerror("Error","Problema con el archivo de djve.")
                        
        
            
            
    except:
        messagebox.showerror("Error","Problema con el archivo de veps.")


            
else:
    messagebox.showinfo("Informacion","No se ejecuto ninguna tarea.")
    


if unir_djs == "yes":

    messagebox.showinfo("Informacion",f"Numero de DJVE procesadas {dejotas}")
    messagebox.showinfo("Informacion",f"Favor borrar los {len(lista_veps)} veps de esta carpeta.\nGracias. ")

window.deiconify()
window.destroy()
window.quit()

谢谢!

4

0 回答 0