我做了一个程序,检查一个密钥。和另一个应该找到秘密密钥的程序。我设法在第二个程序中打开一个子进程,但无法发送输入。下面是检查密钥的程序,secret_key.py
: Python子进程,给子进程输入
SECRET_KEY = "hi"
current_key = 0
while not current_key == "exit":
wrong_key = False
current_key = raw_input("Enter the key or enter 'exit' to exit.\n")
for i in range(len(current_key)):
if i < len(SECRET_KEY):
if not current_key[i] == SECRET_KEY[i]:
wrong_key = True
else:
wrong_key = True
if not wrong_key:
print("the key is right!\n")
current_key = "exit"
raw_input("Press ENTER to exit\n")
exit()
现在,我犯了一个sh文件,以便能够在一个新的终端作为一个子进程来运行它,program.sh
:
#! /bin/bash
python Desktop/school/secret_key.py
这里的地方我被困,find_key.py
:
import subprocess
program = subprocess.Popen("./program.sh")
现在我便无法找到一个方法来发送secret_key.py
中把它要求。
是否有反正我可以从find_key.py
发送一个字符串输入到secret_key.py
?
为什么你需要在gnome终端中运行program.sh? – creichen
我的不好,不需要它。删除并在上面编辑。我只是使用解释器来尝试它,并没有一个新的终端搞砸了,但是当我从'find_key.py'运行它时,我不需要它。 – Zipzap