我在使用python代码时遇到问题。在主线程中,我正在创建一个新的线程,其中包含一个flask API:thread = Thread(target=app.run, kwargs={'host':'127.0.0.1', 'port':5000, 'debug':False, 'use_reloader':False})
然后在主线程中,我让我while循环等待来自终端的命令:
while True:
command = input("> ")
问题是我得到了一些命令后:
File "run.py", line 44, in cli_app
command = input("> ")
ValueError:对关闭的文件进行I / O操作。尽管我的cli仍然打开并且可以从其他终端进行通信,但是该客户端无法再创建命令。我发现的全部是关于打开csv文件的,这就是为什么我要问。谢谢你。
您是否正在尝试在flask中创建终端命令,对吗?所以烧瓶有一个装饰器,可以使这个变得容易:
import click
from flask import Flask
app = Flask(__name__)
@app.cli.command("create-user")
@click.argument("name")
def create_user(name):
#logic
return
并且要运行此命令,您只需要在端子flask create-user admin
中编写此命令,第一个arg是函数,第二个是值(不要忘记在其中使用,您需要设置FLASK_APP),以完成doc看看这个flask doc