运行 flutter 使用 python flask
Running flutter using python flask
我正在做一个 flutter 项目,我使用 python 作为后端。我想 运行 我的 python 文件中的 flutter 代码使用 os.system()
。但在此之前,我想要一些应该在 os.system()
之前执行的行代码。但是这个命令的问题总是运行 first。有没有办法让它等到代码被执行,然后它将是最后一个代码 运行ning 或者是否有另一个执行相同工作的命令。或者我可以在我的案例中设定一个条件让它 wait.Any 非常感谢帮助。
这是我的代码:
import json
import linecache
import os
import glob
import subprocess
from dotenv import load_dotenv
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['POST','GET'])
def foo():
# write into .text.txt
if request.method == 'POST':
data = request.json
json_object = json.dumps(data)
files = glob.glob('var.json')
for f in files:
os.remove(f)
with open('var.json', 'a') as file:
file.write(json_object)
envdata = json.load(open('var.json'))
files = glob.glob('.env')
for f in files:
os.remove(f)
f = open(".env", "a")
for key, value in envdata.items():
f.write(f"{key.upper()}={value}\n")
os.system("flutter run")
return "hello world"
# run flutter to generate ios and apk using run methods process to run flutter app from python flutter build apk / flutter build ios. I can do it
# zip ios and apk
# send zip to client using email adres
if __name__ =='__main__':
app.run()
可能您想要 运行 之前的行是异步任务,这就是 os.system 在它之前执行的原因。您可以在行前添加“await”关键字 -
await "the async line"
os.system("flutter run")
希望对您有所帮助。
我正在做一个 flutter 项目,我使用 python 作为后端。我想 运行 我的 python 文件中的 flutter 代码使用 os.system()
。但在此之前,我想要一些应该在 os.system()
之前执行的行代码。但是这个命令的问题总是运行 first。有没有办法让它等到代码被执行,然后它将是最后一个代码 运行ning 或者是否有另一个执行相同工作的命令。或者我可以在我的案例中设定一个条件让它 wait.Any 非常感谢帮助。
这是我的代码:
import json
import linecache
import os
import glob
import subprocess
from dotenv import load_dotenv
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['POST','GET'])
def foo():
# write into .text.txt
if request.method == 'POST':
data = request.json
json_object = json.dumps(data)
files = glob.glob('var.json')
for f in files:
os.remove(f)
with open('var.json', 'a') as file:
file.write(json_object)
envdata = json.load(open('var.json'))
files = glob.glob('.env')
for f in files:
os.remove(f)
f = open(".env", "a")
for key, value in envdata.items():
f.write(f"{key.upper()}={value}\n")
os.system("flutter run")
return "hello world"
# run flutter to generate ios and apk using run methods process to run flutter app from python flutter build apk / flutter build ios. I can do it
# zip ios and apk
# send zip to client using email adres
if __name__ =='__main__':
app.run()
可能您想要 运行 之前的行是异步任务,这就是 os.system 在它之前执行的原因。您可以在行前添加“await”关键字 -
await "the async line"
os.system("flutter run")
希望对您有所帮助。