Как я могу использовать exec (), который используется внутри определенного пользователем модуля (в другом файле, как библиотека) в Python? - PullRequest
0 голосов
/ 24 октября 2019

Я не могу импортировать модуль из другого файла, в котором я использовал exec для создания динамической переменной.

Тем не менее, я использовал метод globals () внутри функции exec для доступа к переменным и получилжелаемый результат (удалось получить доступ к переменным).

class ad:   

    def read(self):

        root = tk.Tk()
        root.withdraw()

        filepath = filedialog.askopenfilenames()

        dfList = []

        for name in range(1, len(filepath)+1):
            dfList.append("df"+str(name))

        counter = 0
        for i in tqdm(range(len(filepath))):
            file_type = os.path.basename(str(filepath[i]))
            file_type_ext = os.path.splitext(file_type)

            if file_type_ext[-1] == '.csv':
                exec("%s=pd.read_csv(%s)" % (dfList[counter], "'"+filepath[i]+"'"), globals())
                counter += 1

obj = ad()

obj.read()

Но когда я попытался импортировать этот файл (пользовательский модуль) в другой файл, он просто не работал! Есть ли какое-либо решение этой проблемы, где я могу просто импортировать этот файл, как библиотека ??

...