python-3.x - 我可以在我的 Flask 应用程序中使用文件的绝对路径吗?
问题描述
我正在构建一个烧瓶问卷应用程序,最后一个功能是一个按钮,用于下载包含所有数据的 Excel 电子表格。但是,要下载文件,我需要指定路径。我认为最好是相对路径(因为一旦在 Web 服务器上它不应该再访问我的库)但我收到以下错误:
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'c:\\Users\\me\\Desktop\\webApp\\website\\website\\templates\\downloads\\data.xlsx'
如您所见,名为“网站”的目录在其中两次;我只有一个叫网站,绝对路径是这样的:
C:\\Users\\me\\Desktop\\webApp\\website\\templates\\downloads\\data.xlxs
这在生产中运行良好,但我也可以在部署中使用它吗?如果没有,有什么更好的选择或如何解决双“//网站”问题?提前致谢!
auth.py 相关代码:
@auth.route('/downoad')
@login_required
def download_file():
from .funcs import download_excel
path = download_excel()
return send_file(path, as_attachment=True)
funcs.py 相关代码:
def download_excel():
file = 'website\\templates\\downloads\\data.xlsx'
from datetime import datetime
from openpyxl import Workbook, load_workbook
from . import db
dataset = AddEnqueteForm.query.all()
workbook = load_workbook(file)
sheet = workbook.active
workbook.save(filename=file)
return file
我添加了“\website”,因为该应用程序是从网站目录之外的 main.py 运行的
解决方案
推荐阅读
- android - 如何在 ConstraintLayout 中设置布局权重
- android - 如何在真实设备上运行 Android 应用程序?
- scala - 我如何将 prometheus 集成到 Scala sbt 项目中?
- arrays - 将嵌套数组从 vuejs 保存到 Laravel 后端不起作用
- facebook - 尝试获取页面评分时 Facebook Graph API 出现问题。我没有得到任何用户特定的数据
- ios - Ios 在展开可选值错误时意外发现 nil
- aws-lambda - Slack - 未调用交互式消息 URL
- angular - 具有大型数据集的角度选择
- android - canvas.translate 后波纹效果无法覆盖整个文本视图
- java - 为什么我的 ProgressBar 变量被视为 null?顺便说一句,这是一个片段