python - 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:我知道“人员”拼写错误
解决方案
推荐阅读
- laravel - 是否可以为 Eloquent 关系动态设置模型?
- reactjs - React Navigation - 获取另一个导航器的下一个屏幕名称
- c++ - boost intrusive 直接从节点获取下一个
- soapui - 在 SoapUI 中取消测试运行
- visual-studio - Visual Studio 2017 看不到 SDK
- javascript - 如何使用python请求提取脚本生成的网页数据
- python - 如何在模板中自定义(css)字段?(forms.IntegerField)
- javascript - 为什么 Chrome 中的某些选项卡有不同的时区?
- r - 为双打列表创建名称到“命名向量列表”
- vue.js - Vue 组件对数组的变化没有反应