我对python很新。现在我写了一个python程序 A)在一个线程中进行后台检查,并记录其结果并记录到stdout。 并且B)还有一个在循环中运行的Lib.cmd来提供程序命令。
import logging
from cmd import Cmd
class TPrompt(Cmd):
def do_config(self):
"""prints the current config"""
print({'loglevel': 20})
def check():
while True:
logger.info('Check')
sleep(1)
def main():
#start thread for checking
t1 = Thread(target=check)
t1.setDaemon(True)
t1.start()
prompt = TPrompt(_conf)
prompt.use_rawinput = True
prompt.cmdloop('Starting prompt...')
shell输出如下所示:
prompt>
2018-01-11 13:02:38 - INFO - Check
config
{'loglevel': 20}
prompt> 2018-01-11 13:02:39 - INFO - Check
2018-01-11 13:02:40 - INFO - Check
con2018-01-11 13:02:46 - INFO - Check
fig
*** Unknown syntax: fig
当前命令由日志中的换行符分隔,不再有效。使用cmd.use_rawinput似乎没有帮助。 还有其他想法吗?
有办法解决吗?
谢谢!