Обновить импортированные значение из модуля питона

голоса
0

У меня есть проект с проектом с несколькими файлами для одного я объявляю одну переменную как None, а затем внутри функции я обновить это значение.

module_1.py

import pandas as pd
df_data = None
def read_files():
    global df_data
    df_data=pd.read_xlsx('dummy.xlsx')

module_2.py

from module_1 import df_data
from module_1 import read_files

read_files()
print(df_data)
# This returns None

Я думал , что , будучи глобальной переменной она будет обновлять даже после импорта , поскольку из module_1.py файла я обновляю его стоимость. Но не его ни

Что такое правильный способ сделать это? Сделайте функцию Досталось и возвращать сам объект? Есть ли способ, чтобы обновить переменные после их импорта?

Задан 09/10/2019 в 12:54
источник пользователем
На других языках...                            


1 ответов

голоса
1

TLDR : изменение fromимпорта вmodule_2

import module_1
from module_1 import read_files

read_files()
print(module_1.df_data)

Объяснение: from module_1 import df_dataсоздает ссылку в объеме , module_2чтобы df_dataс module_1. В вашей read_files()функции вы заменить значение df_dataв глобальной области module_1, но это (как вы догадались) ничего не меняет в объеме module_2.

Ответил 09/10/2019 в 14:10
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more