使用exec()执行从文本文件读取的代码是一种错误的做法吗?

2021-06-13 12:37:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个文本文件中读取数据,其中列出了一个变量名并为其指定了一个值。你知道吗

例如

manufacturer_num = 12345

我想把这些数据存储到已经初始化的类变量中。类变量的名称与文本文件中的变量相同。在这种情况下使用exec()是一种不好的做法吗?有更好的方法吗?你知道吗

下面是我目前拥有的代码。文本文件很长。你知道吗

 def initialize(self):
        f = open(self.path, "r")
        for x in range(self.init_var_len):
            line = f.readline()
            if "=" in line:
                split_string = line.split("=")
                split_string[0] = split_string[0].strip()
                split_string[1] = split_string[1].strip()
                exec("self." + split_string[0] + "=" + "type(self." + split_string[0] + ")(" + "'"+split_string[1]+"'"+")")

        f.close()

        for each in self.__dict__.keys():
            print eval("self." + each)