python as service上的xlsxwriter中的“无此文件或目录”

时间:2019-05-16 13:45:58

标签: python pandas pyinstaller xlsxwriter nssm

我在工作中将Python与pandas和xlsxwriter一起用于自动化项目,但是我需要将其作为服务运行,为此,我使用pyinstaller来构建可执行文件,并使用nssm.exe来安装服务。 当我使用pyinstaller并在安装服务之前执行.exe文件时,将生成sucessfull的输出文件。但是在安装服务并启动后,将返回以下错误消息。

2019-05-16 10:10:30,268 -- GENERIC EXCEPTION: Traceback (most recent call last):
    File "service.py", line 75, in main
    File "bot.py", line 87, in inicia_consulta
    File "bot.py", line 26, in salva_saida
    File "site-packages\pandas\io\excel.py", line 1952, in save
    File "site-packages\xlsxwriter\workbook.py", line 304, in close
    File "site-packages\xlsxwriter\workbook.py", line 652, in _store_workbook
    File "zipfile.py", line 1204, in __init__
FileNotFoundError: [Errno 2] No such file or directory: 'H:/DOC/Afogados/Documentos/BotDetran/16-05-2019_1010_PE.xlsx'

我尝试了各种文件路径功能,但对我来说都是有用的,还请记住该功能在不使用服务模式启动时通常可以正常工作。

这是我的功能,我在下面详细介绍。

def salva_saida(pd, veiculos):
    df = pd.DataFrame(veiculos) # generate dataframe
    # capture filedir for the config.yml file
    # filedir = 'H:/DOC/Afogados/Documentos/BotDetran/'
    filedir = cfg['filedir']
    # file = '16-05-2019_1010_PE.xlsx'
    file = datetime.now().strftime("%d-%m-%Y_%H%M")+'_PE.xlsx'
    # the error ir occurring here
    writer = pd.ExcelWriter(filedir+file, engine='xlsxwriter')
    ...

1 个答案:

答案 0 :(得分:1)

正如BoarGules所说,我试图为用户分配对H:映射驱动器的访问权限,但对我不起作用。 因此,我通过创建一个链接来直接服务器文件夹地址来解决该问题。谢谢!