我正在使用mongoDB(pymongo
),其中我将python源(程序的逻辑)存储为b64字符串。
提供有效密钥后,我获取b64字符串并对其进行解码。
示例:
data : "cHJpbnQoImhlbGxvIHdvcmxkIik="
data : "print("hello world")"
如何将获取的源(import
)data
到现有的python文件中,而又不将其本地存储在文件中以使用其功能?
mongodb
在服务器上。 Python程序从服务器获取具有给定密钥的数据集。
base64.b64decode(data.find_one({ "key": "derp"})['data'])
=> data = print("hello world")
以上命令从main.py
中调用。为了正确地“工作” /使用某些程序功能,必须将data (logic.py)
注入到main.py
中,以便main.py可以使用其功能等。
logic.py
def sayHello():
print("hello world")
main.py
def doRegisterStuff():
[...]
#worked
import logic #import the decoded base64 string to use its function
logic.sayHello()
答案 0 :(得分:0)
exec正是我所需要的。
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
exec(base64.b64decode(ex.licenses.find_one({ "key": "derp"})['data']))
sayHello()