所以我试着用Python创建一个任务管理器网站,它有一个管理控制台和一个前端网站.最初,一切都工作正常,直到我添加了Flask网页代码(如WebManager_Main. py所示),然后控制台打印(如CommandLine_Input所示)停止工作.奇怪的是,这些线程运行在两个不同的线程(如main.py所示),所以我不知道这是怎么发生的!
Main.py
# Startup and import
# import libraries
import threading
import time
# import files
import CommandLine_Handler as clh
import DataBaseHandler_Main as DBHM
import WebManager_main as WBM
import Error_Handler as eh
import Mailbox as mb
# Startup
mb.run_Main = True
mb.run_Interface = True
mb.run_Database = True
mb.run_WebApp = True
mb.loop_Counter = 0
cmdInterface = None
dataBaseCreate = None
WebAppManager = None
# Run Loop
while mb.run_Main == True:
if mb.run_Interface == True:
try:
if cmdInterface == None:
cmdInterface = threading.Thread(target = clh.interface)
cmdInterface.daemon = True
cmdInterface.start()
else:
if not cmdInterface.is_alive():
cmdInterface = threading.Thread(target = clh.interface)
cmdInterface.daemon = True
cmdInterface.start()
except:
eh.error("m-rl1")
if mb.run_Database == True:
try:
if dataBaseCreate == None:
dataBaseCreate = threading.Thread(target = DBHM.creator)
dataBaseCreate.daemon = True
dataBaseCreate.start()
else:
if not dataBaseCreate.is_alive():
dataBaseCreate = threading.Thread(target = DBHM.creator)
dataBaseCreate.daemon = True
dataBaseCreate.start()
except:
eh.error("m-rl2")
if mb.run_WebApp == True:
try:
if WebAppManager == None:
WebAppManager = threading.Thread(target = DBHM.creator)
WebAppManager.daemon = True
WebAppManager.start()
else:
if not WebAppManager.is_alive():
WebAppManager = threading.Thread(target = WBM)
WebAppManager.daemon = True
WebAppManager.start()
except:
eh.error("m-rl3")
mb.loop_Counter += 1
time.sleep(0.5)
CommandLine_Input. py
import os
import sys
import pwinput as pIN
import logging
def output(input):
print(input, flush=True)
# logger = logging.getLogger('werkzeug')
# logger.info(input)
def uInput(prompt):
userInput = input(prompt)
return userInput
def passInput(prompt):
#userInput = pIN.pwinput(prompt=prompt, mask = '*')
userInput = input(prompt)
return userInput
def clear():
os.system("cls" if os.name == "nt" else "clear")
#os.system("cls")
WebManager_Main.py
from flask import Flask, render_template
#this is the library responsible for the hosting of the Web app
webApp = Flask(__name__)
@webApp.route("/")
def index():
return render_template("index.html")
if __name__ == "WebManager_main":
webApp.run(port=8080, debug = True)
我在网上看了一下人们的帖子,他们有类似的问题和建议.我试过刷新缓冲区,记录以及试图禁用Flask中的打印. 但我似乎再也找不到那个线上的控制台 fingerprint 了.
我将非常感谢任何帮助!