0

我想从 txt 文件执行 python 代码并存储它。

在 txt 文件中,我有以下代码:

def func(a):
    return a

在蟒蛇中:

def random_file_input(file_name):
    ran_number = random.randint(0, 100)
    with open(file_name, 'r+') as f:
        data = f.read()
        f.write(f"\nfunc({ran_number})")
        a = exec(data)  #-----> i want to store like this  :( 

random_file_input('python_code.txt') ```
4

1 回答 1

0

.txt 文件示例:

def hello():
    print("Hello")

首先,您需要从 .txt 文件中读取所需的 python 代码部分

>>> with open("better.txt", 'r+') as f:
...     data = f.read()

然后将其作为python代码执行

>>> exec(data)

现在,如果您知道函数的名称,则可以从 .txt 文件中调用函数并将结果存储在变量中

>>> b = hello()
>>> print(b)
Hello

执行()

文档说:这个函数支持 Python 代码的动态执行。object必须是字符串或代码对象。如果它是一个字符串,则该字符串被解析为一组 Python 语句,然后执行(除非出现语法错误)。如果它是一个代码对象,它会被简单地执行。

但是正如这个答案中提到的那样,它不安全

于 2022-02-05T10:12:59.150 回答