গ্লোবাল ভেরিয়েবলগুলি কীভাবে কাজ করে সে সম্পর্কে আমি কিছুটা বিভ্রান্ত। আমার প্রায় 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")
কিন্তু আবার, এটি কাজ করে না। আমি কীভাবে এটি বাস্তবায়ন করব? আমি বুঝতে পারি যে এটি সেভাবে কাজ করতে পারে না, যখন দুটি ফাইল সত্যই একে অপরকে চেনে না (ভাল সাবফিলটি মূল জানে না), তবে আমি কীভাবে করব তা ভাবতে পারি না, আইও রচনা বা আচার ব্যবহার না করে, যা আমি করতে চাই না।