我在一个.fab文件中使用所有配置的python结构 如何将敏感数据作为密码放入单独的文件,然后导入/加载到fab主文件?
答案 0 :(得分:2)
在fabfile.py中定义一个简单的函数,从单独的文件中读取密码。有点像:
def new_getpass(username):
with open("/etc/passwd", "r") as f:
for entry in [l.split(":") for l in f.readlines()]:
if entry[0] == username:
return entry
return None
如果找不到用户名,则会返回None
,并且如果找到用户,则会将整个用户的记录作为列表返回。
显然,我的示例是从/etc/passwd
获取数据,但您可以轻松地将此基本功能调整到您自己的文件中:
credentials.dat
database1|abcd1234
database2|zyxw0987
然后上面的代码被修改为使用这样的文件,稍有变化只返回密码(因为我们知道数据库名称):
def getpass(database):
with open("credentials.dat", "r") as f:
for entry in [l.split("|") for l in f.readlines()]:
if entry[0] == username:
return entry[1]
return None
虽然不像导入那么简单,但它为您提供了使用纯文本文件存储凭据的灵活性。