我使用的是 Windows 10。
我有一个文件(
1.py
),其中包含getpass.getpass()
,我想使用python自动输入密码。
我尝试过
subprocess.Popen(['py', '1.py'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
,但无法写入。
在写入
stdin
时,我添加了换行符并清除了缓冲区。
我该怎么办?
我的工作示例在这里:
1.py:
import getpass
print(getpass.getpass())
你好.py:
import subprocess
import sys
subprocess.run(
[
sys.executable,
"1.py",
]
)
如果想直接使用 Popen 类,请使用
Popen.communicate
方法与进程交互并等待进程退出。
如果你想以编程方式将密码写入
1.py
,使用内置模块似乎是不可能的。