运行多个 python 脚本,一个要求输入,不允许输入脚本运行。另外,我如何同时运行脚本(Python)

Posted

技术标签:

【中文标题】运行多个 python 脚本,一个要求输入,不允许输入脚本运行。另外,我如何同时运行脚本(Python)【英文标题】:Running multiple python scripts, one asking for input, does not allow input script to run. Also, how do I run simultaneous scripts(Python) 【发布时间】:2021-02-02 18:33:33 【问题描述】:

我有两个 python 脚本,一个需要不断地从用户那里获取输入并写入文件,而另一个同时不断地检查文件中的更新。我的问题是在运行检查脚本时,os系统终端“位置”似乎已经被填满了,我无法运行输入脚本。它要么显示检查脚本终端,要么停留在 cmd 终端上的闪烁光标上并且不加载。此外,我无法找到一种方法让这两个脚本无限期地运行,直到用户终止该进程。另外,它可能是我的电脑,但是在运行时

while True:
    check()
    

在我的检查脚本中,它冻结了我的电脑并且也不允许输入脚本运行 顺便说一句,我的电脑出现了一些问题,所以我今天要重置它,我希望这就是问题所在,但是我已经为这个问题发疯了,不再相信我对此的判断了:(

#我的检查脚本

def check():
    with open('Tasks.txt','r') as file:
        data = file.readlines()
    if not "Neuron" in data and len(data)!=0:
        i=0
        Chars = data[0].split(" ")
        while(i<len(Chars)):
            c=0
            print(len(data[0]))
            print('Count:' + str(i))
            print('Chars are ' + Chars[i])
            while(c<len(Chars[i])):
                Neuron.createNeuron(Chars[i][c-1:c])
                c+=1
            i+=1
        data.pop(0)
        Neuron.writeData('Tasks.txt',data,'w')
        #os.system('py Create.py')
check()

#我的用户输入脚本


def CM():

    String = input(">")
    #res = ' '.join(format(ord(x), 'b') for x in String)
    #print(res)
    
    Neuron.writeData('Logs.txt',Neuron.writeData('Tasks.txt',(' '.join(format(ord(x), 'b') for x in String)+'\n'),'a'),'a')
    CM()
CM()

【问题讨论】:

你需要在不同的终端窗口中运行它们。 这不是一个真正的 Python 问题,而是一个 shell 问题。如果您使用的是 *nix shell,您可以通过在命令末尾放置一个与号 (&) 来运行后台进程。如果您使用的是 Windows,我相信 Windows 也有类似的东西。在尝试运行第二个进程之前,您需要将第一个进程作为后台进程运行 当你有多线程时为什么需要多个脚本:) Barmar 我不知道该怎么做。迈克尔,我实际上并没有真正考虑过这一点。我会试试的。 @HjSin,我尝试过多线程,我相信它有效,但它们似乎在不做任何事情的情况下继续运行。我还写了它们来打印它们所做的事情,而当我使用多线程时我看不到这一点。我创建了一个日志文件,但每次都必须打开它才能看到更新的文件。另外,堆栈溢出不允许我@多个人:( 【参考方案1】:

所以,我找到了答案。最初这两个文件实际上都可以运行,但是其中一个,输入文件,必须从 IDLE 打开然后在那里运行。重复同时运行它们就是放 os.system('py Create.py') 在文件的末尾。所以它会运行一个新的 py 脚本会话。

另外,我导入了一个文件,它不仅是函数,而且是命令,它运行它们,这就是我无法使用输入脚本的原因。

【讨论】:

以上是关于运行多个 python 脚本,一个要求输入,不允许输入脚本运行。另外,我如何同时运行脚本(Python)的主要内容,如果未能解决你的问题,请参考以下文章

将多个样本的vcf文件转化为Phylip输入格式的python脚本

允许多个python文件之间的通信

尝试在 Java 中运行多个 python 脚本

允许任何用户名提交到 SVN

多个进程共享一个 Joblib 缓存

python 如何同时创建多个CMD窗口并同步执行cmd命令?