উত্তর:
from file1 import *
ফাইল 1 এ সমস্ত অবজেক্ট এবং পদ্ধতি আমদানি করবে
ImportError: No module named file1
file1
ভিতরে আমদানি করুন file2
:
ফাইল 2 এর নামস্থান প্লাবিত না করে ফাইল 1 থেকে সমস্ত ভেরিয়েবল আমদানি করতে, ব্যবহার করুন:
import file1
#now use file1.x1, file2.x2, ... to access those variables
ফাইল 1 থেকে ফাইল 2 এর নেমস্পেসে সমস্ত ভেরিয়েবল আমদানি করতে (প্রস্তাবিত নয়):
from file1 import *
#now use x1, x2..
ডক্স থেকে :
এটি
from module import *
মডিউল স্তরে ব্যবহারের জন্য বৈধ হলেও এটি সাধারণত একটি খারাপ ধারণা। একটির জন্য, পাইথনের অন্যথায় এটি একটি গুরুত্বপূর্ণ সম্পত্তি হারিয়েছে - আপনি জানতে পারবেন যে প্রতিটি শীর্ষ স্তরের নামটি আপনার প্রিয় সম্পাদকের একটি সাধারণ "অনুসন্ধান" ফাংশন দ্বারা সংজ্ঞায়িত করা হয়েছে। কিছু মডিউল অতিরিক্ত ফাংশন বা ক্লাস বৃদ্ধি করে যদি আপনি ভবিষ্যতে সমস্যার জন্য নিজেকেও উন্মুক্ত করেন।
import file1
তখনই ব্যবহার করুন ।
file1.varX
প্রতিটি ফাইলের জন্য অর্থ পরিশোধ করতে হবে।
আমদানি করতে শ্রেষ্ঠ X1 এবং x2 স্পষ্টভাবে:
from file1 import x1, x2
এটি আপনাকে file1
কাজ করার সময় থেকে ভেরিয়েবল এবং ফাংশনগুলির সাথে অপ্রয়োজনীয় নেমস্পেস বিরোধগুলি এড়াতে দেয় file2
।
তবে আপনি যদি সত্যিই চান তবে আপনি সমস্ত পরিবর্তনশীল আমদানি করতে পারেন :
from file1 import *
আসলে এটির সাথে একটি ভেরিয়েবল আমদানি করার জন্য এটি আসলে একই নয়:
from file1 import x1
print(x1)
এবং
import file1
print(file1.x1)
ইম্পোর্ট সময় x1 এবং file1.x1 এ একই মান রয়েছে, তারা একই ভেরিয়েবল নয়। উদাহরণস্বরূপ, ফাইল 1 এ এমন কোনও ফাংশন কল করুন যা এক্স 1 সংশোধন করে এবং তারপরে মূল ফাইলটি থেকে ভেরিয়েবলটি মুদ্রণের চেষ্টা করুন: আপনি পরিবর্তিত মানটি দেখতে পাবেন না।
মার্ক প্রতিক্রিয়া সঠিক। প্রকৃতপক্ষে, আপনি ভেরিয়েবলগুলির জন্য মেমরি ঠিকানা মুদ্রণ করতে পারেন print(hex(id(libvar))
এবং আপনি দেখতে পারেন ঠিকানাগুলি পৃথক।
# mylib.py
libvar = None
def lib_method():
global libvar
print(hex(id(libvar)))
# myapp.py
from mylib import libvar, lib_method
import mylib
lib_method()
print(hex(id(libvar)))
print(hex(id(mylib.libvar)))
ইন Python
আপনি যদি তারা মত অন্যান্য ফাইলের সামগ্রী অ্যাক্সেস করতে পারেন
একটি লাইব্রেরি কিছু হয়, জাভা বা যে কোন গলি বেস ভাষার মত অন্যান্য ভাষায় তুলনায় এই সত্যিই শীতল হয়;
এটি ফাইলের বিষয়বস্তুগুলিতে অ্যাক্সেস করতে বা এটি প্রক্রিয়া করতে বা এর সাথে কিছু করার জন্য আমদানি করে; Python
ডেটা সায়েন্স এবং মেশিন লার্নিং ইত্যাদির জন্য ভাষাটিকেই বেশি প্রাধান্য দেওয়ার মূল কারণ হ'ল;
আমি .env file
যেখানে API links
গোপনীয় কীগুলি বাস করি সেখান থেকে পরিবর্তনগুলি অ্যাক্সেস করছি ।
সাধারণ কাঠামো:
from <File-Name> import *