首页 > 解决方案 > 在 Python 中打印调试命令时隐藏秘密

问题描述

我正在从 Python(Verticavsql数据库 cli)调用外部实用程序。我想调试打印命令,但从命令打印中隐藏密码(出于安全原因)。

即如果命令是:

 vsql -w mypassword -c "SELECT 1"

我要打印:

 vsql -w **** -c "SELECT 1"

或类似的。

以及关于优雅解决方案的想法?

标签: python

解决方案


另一个优雅的实现是使用数据库 CLI 工具识别的环境变量。在 Vertica 的情况下,变量的名称是VSQL_PASSWORD.

所以,如果我跑

export VSQL_PASSWORD=blablapassword
python ./myapp.py

子进程命令myapps.py获取这个环境变量,我可以避免在 vsql 命令中使用密码。

感谢@KyleParsons 提醒该选项!


推荐阅读