我想安全地向用户询问密码,然后将其传递给subprocess.Popen以运行需要该密码的命令。
我已经看到了这个question和那个one,但是我想知道是否可以像这样通过子进程环境安全地传递密码:
import subprocess, os
user_password = input("what is you password?")
my_env = os.environ.copy()
my_env["userpass"] = user_password
my_command = "python --version"
subprocess.Popen(my_command, env=my_env)
一旦python脚本关闭,密码将被刷新吗?我看过subprocess documentation,但没有解释。
当我在代码末尾添加此行print(os.environ['userpass'])
以打印OS环境时,我可以检索用户密码。这是否意味着其他正在运行的进程可以访问该密码?
编辑:我无法通过密码传递密码,因为我使用的命令无法从标准输入中读取密码