from credlib import credential
def system_login(*args): # this is new function definition
#def system_login(hostname, username, password): # this was previous function definition
if len(args) == 1 and isinstance(args[0], credential):
hostname = args[0].hostname
username = args[0].username
password = args[0].password
elif len(args) == 3:
hostname = args[0]
username = args[1]
password = args[2]
else:
raise ValueError('Invalid arguments')
do_login(hostname, username, password) # this is original system login call
main.py--组合凭据和系统库的主脚本
from mycredentials import sys_stg, sys_db
import mysystemlib
...
mysystemlib.system_login(sys_stg)
我认为将凭证存储在另一个*py文件中是最安全的选择。那就进口吧。示例如下所示
配置py
主.py
我处理的问题和kecer建议的完全一样,最终得到了同样的解决方案。由于我需要使用它几十个脚本,我创建了自己的库。让我和你分享这个解决方案。
credlib.py--用于处理凭据的通用库
my credentials.py--存储所有凭据的本地文件
mysystemlib.py--这是一个访问我的系统的通用库(支持新的凭据系统和旧的)
main.py--组合凭据和系统库的主脚本
请注意,传统的hostname/username/password方式仍然有效,因此不会影响旧脚本:
这有很多好处:
.gitignore
排除),这样我们的python脚本/lib就可以与其他人共享,而不必公开凭据(每个人都在本地文件中定义自己的凭据)相关问题 更多 >
编程相关推荐