You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过flask run传递命令行参数给使用argv的Flask应用

解决Flask run传递命令行参数的问题

你可以通过两种方式给使用sys.argv的Flask应用传递参数:

方法一:用--分隔Flask命令与应用参数

flask run命令支持用--来区分自身的参数和要传递给应用的参数,直接在--后面加上你的路径参数即可:

FLASK_APP=example.py flask run -- home/dir1/dir2

如果已经提前设置了FLASK_APP环境变量,可简化为:

flask run -- home/dir1/dir2

这样你的应用里sys.argv[1]就能拿到home/dir1/dir2这个路径,和直接执行python3 example.py home/dir1/dir2的效果一致。

方法二:通过环境变量传递参数

如果不想用命令行参数的方式,也可以把路径放到环境变量里,在应用中读取:

  1. 修改example.py代码,添加环境变量读取逻辑:
import sys
import os

# 优先读取环境变量,没有则 fallback 到命令行参数
target_dir = os.environ.get('TARGET_DIR') or (sys.argv[1] if len(sys.argv) > 1 else '')
  1. 启动时设置环境变量:
TARGET_DIR=home/dir1/dir2 FLASK_APP=example.py flask run

内容的提问来源于stack exchange,提问作者bobs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:45:38