如何动态实现python代码的添加部分

时间:2019-07-17 00:46:50

标签: python

我想创建一个使用存储在数据库中的代码的python文件

我有一个名为CodeTable的表,其中包含这些数据

ID    Code
-----------
1      import pymssql import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import numpy as np  df = pd.read_csv(r'C:\Projects\G.csv') plt.figure(figsize=(12, 9))

2      X = 1 + MasterKey

在我的代码中,我有这个

MasterKey = 7

#Some code to call Record with ID = 2 from DB
# a function to execute Python dynamically      <-------- I need this?!!

print(MasterKey) #<------------ Should return 8

谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用exec内置函数。例如,exec("print('Hello World!')")

执行文档:

  

此函数支持动态执行Python代码。对象必须是字符串或代码对象。如果它是字符串,则将该字符串解析为一组Python语句,然后执行该语句(除非发生语法错误)。

答案 1 :(得分:1)

我认为这是熊猫数据框,因此我们可以使用eval

pd.eval(df.loc[df.ID==2,'Code'].str.split('=').str[-1])[0]
8