मैं थोड़ा भ्रमित हूं कि वैश्विक चर कैसे काम करते हैं। मेरे पास एक बड़ी परियोजना है, जिसमें लगभग 50 फाइलें हैं, और मुझे उन सभी फाइलों के लिए वैश्विक चर को परिभाषित करने की आवश्यकता है।
मैंने जो कुछ भी किया, उसे अपनी परियोजनाओं की main.py
फ़ाइल में परिभाषित किया , जो निम्नानुसार है:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
मैं निम्नलिखित के रूप myList
में उपयोग करने की कोशिश कर रहा हूंsubfile.py
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
एक और तरीका मैंने कोशिश की, लेकिन काम नहीं किया
# ../myproject/main.py
# Import globfile
import globfile
# Save myList into globfile
globfile.myList = []
# Import subfile
import subfile
# Do something
subfile.stuff()
print(globfile.myList[0])
और subfile.py
मेरे अंदर यह था:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList
def stuff():
globfile.myList.append("hey")
लेकिन फिर, यह काम नहीं किया। मुझे इसे कैसे लागू करना चाहिए? मैं समझता हूं कि यह उस तरह से काम नहीं कर सकता है, जब दो फाइलें वास्तव में एक-दूसरे को नहीं जानती हैं (अच्छी तरह से सबफाइल मुख्य नहीं जानता है), लेकिन मैं यह नहीं सोच सकता कि इसे कैसे करना है, बिना io लेखन या अचार का उपयोग किए बिना, जो मैं नहीं करना चाहता।