我有一个Flask
脚本,可以创建网站并动态打印一些数据。-打印的数据应来自另一个python脚本。
我目前面临的问题是,如果我将执行python脚本的行放在执行Flask
应用程序的行之前,它将运行Python脚本而不运行Flask
;反之亦然。
Python脚本:
import websocket
from bitmex_websocket import Instrument
from bitmex_websocket.constants import InstrumentChannels
from bitmex_websocket.constants import Channels
import json
websocket.enableTrace(True)
sells = 0
buys = 0
channels = [
InstrumentChannels.trade,
]
XBTUSD = Instrument(symbol='XBTUSD',
channels=channels)
XBTUSD.on('action', lambda msg: test(msg))
def test(msg):
parsed = json.loads(json.dumps(msg))
print(parsed)
XBTUSD.run_forever()
Flask脚本(注意:价格应为其他脚本的“解析”变量):
# Start with a basic flask app webpage.
from flask_socketio import SocketIO, emit
from flask import Flask, render_template, url_for, copy_current_request_context
from random import random
from time import sleep
from threading import Thread, Event
import requests, json
import time
__author__ = 'slynn'
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
app.config['DEBUG'] = True
#turn the flask app into a socketio app
socketio = SocketIO(app)
#random number Generator Thread
thread = Thread()
thread_stop_event = Event()
class RandomThread(Thread):
def __init__(self):
self.delay = 1
super(RandomThread, self).__init__()
def randomNumberGenerator(self):
while not thread_stop_event.isSet():
socketio.emit('newnumber', {'number': parsed}, namespace='/test')
sleep(self.delay)
def run(self):
self.randomNumberGenerator()
@app.route('/')
def index():
#only by sending this page first will the client be connected to the socketio instance
return render_template('index.html')
@socketio.on('connect', namespace='/test')
def test_connect():
# need visibility of the global thread object
global thread
print('Client connected')
#Start the random number generator thread only if the thread has not been started before.
if not thread.isAlive():
print("Starting Thread")
thread = RandomThread()
thread.start()
@socketio.on('disconnect', namespace='/test')
def test_disconnect():
print('Client disconnected')
if __name__ == '__main__':
socketio.run(app)
使用import
:
website_generator.py
)生成的内容包装到函数中。app.py
或相同的目录中flask.py
。from website_generator import function_nam
e在flask.py
function_name()
你可以使用其他功能,例如subprocess.callet
等。尽管他们可能不会给你答复。
使用示例import
:
from flask import Flask
import your_module # this will be your file name; minus the `.py`
app = Flask(__name__)
@app.route('/')
def dynamic_page():
return your_module.your_function_in_the_module()
if __name__ == '__main__':
app.run(host='0.0.0.0', port='8000', debug=True)
问题内容: 我不知道应该把我的Spider代码放在哪里以及如何从main函数中调用它。请帮忙。这是示例代码: 问题答案: 所有其他答案均参考Scrapyv0.x。根据更新的文档,Scrapy 1.0要求:
问题内容: 我是python的新手。只知道什么是python。我创建了以下代码(在python IDLE中): 然后,我将此页面保存在本地主机中为index.py 我使用http://localhost/index.py运行脚本 但是它没有显示执行的python脚本。而是将上面的代码显示为HTML。问题出在哪儿?请有人告诉我如何在网页中运行python吗? 问题答案: 为了显示您的代码,您需要执行
问题内容: 我有一个脚本,每5分钟检查一次PC上的内容,并且我不希望Python显示在任务栏上。我使用Windows作为操作系统。 有什么方法可以让Python在后台运行并强制其不在我的任务栏中显示? 问题答案: 在控制面板中查找计划任务。
问题内容: 我正在编写一个python脚本,该脚本可以检查各种条件并相应地运行powershell脚本,以帮助我自动完成从Windows XP到Windows 7的迁移。powershell脚本提供了自己的输出,可让用户了解发生的情况。我想获取powershell脚本的输出并将其打印为python脚本的输出。我环顾了一些问题,这些问题似乎想做同样的事情,但似乎对我没有帮助。最初我尝试使用 如此处的
问题内容: 我有一个在Linux上运行的Python(3)脚本,称为主脚本,该脚本必须从专有DLL调用例程。到目前为止,我已经使用Wine使用以下结构解决了这个问题: 脚本 dll_call.py 由Wine下安装的Windows Python(3)解释器执行。它将返回值转储到一个文件中,然后由等待的主脚本拾取该文件。如果我必须连续执行几次,它不是完全可靠且令人痛苦的缓慢。 我想一次启动脚本 dl
问题内容: 之前曾在不同程度上提出过这样的问题,但我觉得还没有以简明的方式回答,因此我再次提出。 我想在Python中运行脚本。可以说是这样的: 它获取文件位置,读取它,然后打印其内容。没那么复杂。 好吧,那我该如何在C#中运行它呢? 这就是我现在所拥有的: 当我传递位置和位置无效时。有人告诉我,我应该通过的,然后作为。 我已经寻找了一段时间,只能找到建议使用IronPython或类似工具的人。但