python - 从 shell 脚本读取 getpass

标签 python shell getpass

我有 python 脚本(第 3 方脚本)调用 getpass .
我需要使用脚本来提供密码。简单管道不起作用,因为根据文档,getpass/dev/tty 读取。
我绝不是 shell 或 python 专家,那么有没有办法(不修改使用 getpass 的 .py 脚本)通过 bash\shell 脚本提供密码?

最佳答案

这基本上设计是为了从键盘获取输入。如果您不希望这样,并且您不能更改脚本以改为从正确许可的配置文件中读取它,那么我将完全修改 getpass 调用。

from mock import patch

with patch('path.to.import.getpass') as mock:
    mock.return_value = 'hunter2'
    # call your script

详细说明“调用你的脚本”,如果这个脚本有一个合适的 entry point ,例如从 setuptools 生成,然后在源代码中查找被调用的底层函数。您可以导入模块并直接调用相同的函数来“运行”脚本。但是,如果脚本只是一堆模块级代码,那么您将不得不使用 exec 并显式传入一个包含 monkeypatch 的范围。

关于python - 从 shell 脚本读取 getpass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48995630/

相关文章:

python pyplot连接点

linux - 使用 cat 输出运行 bash 脚本的问题(额外引号)

python - Pytest 模拟隐藏预期密码

python - 如何抑制密码的显示?

python - 如何禁用输入输入直到双击?

python - 压缩的 Hadoop 序列文件 Python

python - 在 sklearn 数字示例中使用自己的图像

linux - 使用 bash 根据其他文件中的范围划分文件

c - Netcat shell 程序