Python等待系统输入

2024-09-29 23:26:52 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图为一个电子应用程序创建一个python后端脚本。我希望能够不断地将系统输入传递给python文件,并让它在系统输入发生变化时运行函数。我不想每次都要运行python脚本,因为加载模块和数据需要几秒钟的时间,只会减慢应用程序的速度

我在任何地方都找不到关于如何做到这一点的好描述

import sys
sysArg = []   

def sysPrint(sysArgs):
    print(sysArgs[1:])

while True:
    if sys.argv <> sysArg:
        sysPrint(sys.argv)
    sysArg = sys.argv

这对我不起作用,而且“while-True”循环在CPU方面感觉不太安全。 我还认为sys.argv可能不是正确的选择,因为它可能只是在调用Python脚本时生成的


Tags: 模块文件数据函数脚本true应用程序系统
1条回答
网友
1楼 · 发布于 2024-09-29 23:26:52

如果我没有误解您的问题,您可以将系统输出重定向到一个文件,使用nohup运行程序作为后台进程

像这样:

nohup some_program &> output.log" &

然后您可以像这样处理输出文件:

import time

def tail(f):
    f.seek(0,2)
    while True:
        line = f.readline()
        if not line:
            time.sleep(0.1)
            continue
        yield line

if __name__ == '__main__':
    output_file= open("output.log","r")
    for line in tail(output_file):
        print(line)

相关问题 更多 >

    热门问题