首页 > 解决方案 > FileNotFoundError: [Errno 2] 没有这样的文件或目录 (Heroku)

问题描述

我正在使用 Flask 创建一个 Web 应用程序并使用 Heroku 进行部署,我的应用程序在本地正常工作,但是当我尝试在 Heroku 中运行它时,它显示以下错误:

“FileNotFoundError:[Errno 2] 没有这样的文件或目录:'static\perssonel_data'

试图访问目录的函数是这样的:

from PyPDF2 import PdfFileReader, PdfFileWriter
import re
import os

def create_desprendible(id, name, month):

    # folder path with "desprendibles"
    path_test = 'static\perssonel_data'

    # search for the file for the requested month
    for filename in os.scandir(path_test):
        if filename.is_file():
            if filename.path == 'static\perssonel_data\perssonel_data_' + str(month) +'.pdf':
                file_path = filename.path
                pdf = PdfFileReader(file_path)

    # generates PDF
    for i in range(0, pdf.getNumPages()):
        content = ""
        content += pdf.getPage(i).extractText() + "\n"
        ResSearch = re.search(id, content)
        if ResSearch is not None:
            pages = [int(i)]

    pdfWriter = PdfFileWriter()

    pdf_name = 'DESPRENDIBLE_DE_NOMINA_' + str(name).replace(" ", "_") + '.pdf'

    for page_num in pages:
        pdfWriter.addPage(pdf.getPage(page_num))

    with open(pdf_name, 'wb') as f:
        pdfWriter.write(f)
        f.close()

    return pdf_name

我使用了 $ heroku run bash,一切看起来都不错:

    $ heroku run bash
 »   Warning: heroku update available from 7.53.0 to 7.56.1.
Running bash on certificadosyv... starting, run.9761 (Free)
cdRunning bash on certificadosyv... connecting, run.9761 (Free)
~ $ ls
app.py       desprendibles.py  pdf.py            __pycache__       static
csvtosql.py  employees.db      Procfile          requirements.txt  templates
delete.py    helpers.py        Procfile.windows  runtime.txt       venv
~ $ cd static
cd static
~/static $ ls
ls
favicon.ico  perssonel_data  styles.css
~/static $ cd perssonel_data
cd perssonel_data
~/static/perssonel_data $ ls
ls
perssonel_data_10.pdf  perssonel_data_2.pdf  perssonel_data_6.pdf
perssonel_data_11.pdf  perssonel_data_3.pdf  perssonel_data_7.pdf
perssonel_data_12.pdf  perssonel_data_4.pdf  perssonel_data_8.pdf
perssonel_data_1.pdf   perssonel_data_5.pdf  perssonel_data_9.pdf
~/static/perssonel_data $ Terminate batch job (Y/N)?

知道会是什么吗?

PD:我知道“人员”拼写错误

标签: pythonflaskheroku

解决方案


推荐阅读