Python 如何使命令行参数对用户可见?

Python 如何使命令行参数对用户可见?,python,flask,Python,Flask,我正在使用Flask构建一个工具,以便在浏览器中本地查看数据。我希望将包含数据的目录作为命令行参数传递,然后将其传递给相应的路由函数以进行渲染 这就是我想要的,但是使用全局变量: dataDir = None def initializeData(pathname): global dataDir dataDir = pathname @app.route('/') def home(): # Use dataDir as desired if __name__ =

我正在使用Flask构建一个工具,以便在浏览器中本地查看数据。我希望将包含数据的目录作为命令行参数传递,然后将其传递给相应的路由函数以进行渲染

这就是我想要的,但是使用全局变量:

dataDir = None

def initializeData(pathname):
    global dataDir
    dataDir = pathname

@app.route('/')
def home():
    # Use dataDir as desired

if __name__ == '__main__':
    initializeData(sys.argv[1])
    app = Flask(__name__)
    app.run()

在命令行和我的路由之间有更好的通信方式吗?

您的flask应用程序具有
config
属性。此外,此代码将失败并出现NameError。你想要这样的东西:

import sys
from flask import Flask

app = Flask(__name__)


@app.route('/')
def home():
    return 'You wanted {!r} directory'.format(app.config.get('some_setting'))

if __name__ == '__main__':
    app.config['some_setting'] = sys.argv[1]
    app.run()

对了,你修好了!