"No such file or directory" 在 python 上的 xlsxwriter 中作为服务

"No such file or directory" in xlsxwriter on python as service

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

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')
    ...

正如 BoarGules 所说,我尝试分配一个用户访问 H: 映射驱动器,但对我不起作用。 所以我通过创建一个 link 指定直接服务器文件夹地址来解决问题。谢谢!