एक अजगर मॉड्यूल से आयात मूल्य को रिफ्रेश

वोट
0

मैं कई फ़ाइलों एक के लिए मैं कोई भी रूप में एक चर घोषित करने और फिर एक समारोह के अंदर मैं अद्यतन यह मूल्य है के साथ इस परियोजना के साथ एक परियोजना है।

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 फ़ाइल मैं अपने मूल्य को अद्यतन करने कर रहा हूँ। लेकिन इसकी कोई भी

ऐसा करने का सही तरीका क्या है? एक get समारोह बनाने के लिए और वस्तु ही लौट? वहाँ उन्हें आयात करने के बाद चर ताज़ा करने के लिए कोई तरीका है?

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