运行多个 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)的主要内容,如果未能解决你的问题,请参考以下文章