অজগর ফাইলটি আমদানি করার অনেকগুলি উপায় রয়েছে, সবগুলিই তার পক্ষে মতামত এবং কনসস।
আপনার জন্য কাজ করে এমন প্রথম আমদানি কৌশলটি তাড়াহুড়ো করে বেছে নেবেন না অন্যথায় আপনি যখন কোডবেসটি আপনার প্রয়োজনগুলি পূরণ করেন না তখনই আপনাকে আবার লিখতে হবে।
আমি সহজতম উদাহরণ # 1 ব্যাখ্যা দিয়ে শুরু করব, তারপরে আমি সর্বাধিক পেশাদার এবং দৃust় উদাহরণ # 7 এর দিকে এগিয়ে যাব
উদাহরণ 1, পাইথন ইন্টারপ্রেটার দিয়ে পাইথন মডিউলটি আমদানি করুন:
এটিকে / home/el/foo/fox.py এ রাখুন:
def what_does_the_fox_say():
print("vixens cry")
অজগর দোভাষী প্রবেশ করুন:
el@apollo:/home/el/foo$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
>>> import fox
>>> fox.what_does_the_fox_say()
vixens cry
>>>
আপনি পাইথন দোভাষী দ্বারা শিয়াল আমদানি করেছেন, what_does_the_fox_say()
fox.py এর মধ্যে থেকে পাইথন ফাংশনটি শুরু করেছেন।
উদাহরণ 2, স্ক্রিপ্টে অন্য পাইথন ফাইলটি নির্ধারণ করতে স্ক্রিপ্টে execfile
বা ( exec
পাইথন 3 এ ) ব্যবহার করুন :
এটিকে / home/el/foo2/mylib.py এ রাখুন:
def moobar():
print("hi")
এটিকে / home/el/foo2/main.py এ রাখুন:
execfile("/home/el/foo2/mylib.py")
moobar()
ফাইলটি চালান:
el@apollo:/home/el/foo$ python main.py
hi
মুবার ফাংশনটি mylib.py থেকে আমদানি করা হয়েছিল এবং মেইন.পাই-তে উপলব্ধ করা হয়েছিল
উদাহরণ 3, এর থেকে ... আমদানি করুন ... কার্যকারিতা:
এটিকে / home/el/foo3/chekov.py এ রাখুন:
def question():
print "where are the nuclear wessels?"
এটিকে / home/el/foo3/main.py এ রাখুন:
from chekov import question
question()
এটি এইভাবে চালান:
el@apollo:/home/el/foo3$ python main.py
where are the nuclear wessels?
আপনি যদি চেকোভ.পি-তে অন্য ফাংশনগুলি সংজ্ঞায়িত করেন তবে আপনি না করলে সেগুলি উপলভ্য হবে না import *
উদাহরণ 4, riaa.py আমদানি করুন যদি এটি যেখান থেকে আমদানি করা হয় তবে এটি অন্য কোনও ফাইলের অবস্থানের হয়
এটিকে / home/el/foo4/stuff/riaa.py এ রাখুন:
def watchout():
print "computers are transforming into a noose and a yoke for humans"
এটিকে / home/el/foo4/main.py এ রাখুন:
import sys
import os
sys.path.append(os.path.abspath("/home/el/foo4/stuff"))
from riaa import *
watchout()
চালাও এটা:
el@apollo:/home/el/foo4$ python main.py
computers are transforming into a noose and a yoke for humans
এটি বিদেশী ফাইলের সমস্ত কিছু আলাদা ডিরেক্টরি থেকে আমদানি করে।
5 উদাহরণ, ব্যবহার os.system("python yourfile.py")
import os
os.system("python yourfile.py")
উদাহরণ 6, পাইগব্যাকিংয়ের মাধ্যমে পাইথন স্টার্টআপুকের মাধ্যমে আপনার ফাইলটি আমদানি করুন:
আপডেট: এই উদাহরণটি পাইথন 2 এবং 3 উভয়ের জন্যই কাজ করে তবে এখন কেবল পাইথন 2 এর জন্য কাজ করে। পাইথন 3 এই ব্যবহারকারী স্টার্টহুক বৈশিষ্ট্য সেটটি থেকে মুক্তি পেয়েছে কারণ এটি অল্প দক্ষতার পাইথন গ্রন্থাগার লেখক দ্বারা ব্যবহার করা হয়েছিল, এটি ব্যবহারকারীর দ্বারা সংজ্ঞায়িত সমস্ত প্রোগ্রামের আগে গ্লোবাল নেমস্পেসে তাদের কোডটি কার্যকরভাবে ইনজেক্ট করার জন্য ব্যবহার করে। আপনি যদি পাইথন 3 এর জন্য কাজ করতে চান তবে আপনাকে আরও সৃজনশীল হতে হবে। যদি আমি আপনাকে এটি কীভাবে করতে বলি, অজগর বিকাশকারীরা সেই বৈশিষ্ট্য সেটটিও অক্ষম করে দেবে, সুতরাং আপনি নিজেরাই।
দেখুন: https://docs.python.org/2/library/user.html
এই কোডটি আপনার হোম ডিরেক্টরিতে রাখুন ~/.pythonrc.py
class secretclass:
def secretmessage(cls, myarg):
return myarg + " is if.. up in the sky, the sky"
secretmessage = classmethod( secretmessage )
def skycake(cls):
return "cookie and sky pie people can't go up and "
skycake = classmethod( skycake )
এই কোডটি আপনার মেইন.পাইতে রাখুন (যে কোনও জায়গায় হতে পারে):
import user
msg = "The only way skycake tates good"
msg = user.secretclass.secretmessage(msg)
msg += user.secretclass.skycake()
print(msg + " have the sky pie! SKYCAKE!")
এটি চালান, আপনার এটি করা উচিত:
$ python main.py
The only way skycake tates good is if.. up in the sky,
the skycookie and sky pie people can't go up and have the sky pie!
SKYCAKE!
যদি আপনি এখানে ত্রুটি পান: ModuleNotFoundError: No module named 'user'
তবে এর অর্থ আপনি পাইথন 3 ব্যবহার করছেন, সেখানে স্টার্টআপ বইগুলি ডিফল্টরূপে অক্ষম করা আছে।
এই জাস্টটির ক্রেডিট এতে যায়: https://github.com/doc पात/homedir-example/blob/master/python-commandline/.pythonrc.py আপনার আপ-বোট বরাবর প্রেরণ করুন।
উদাহরণ 7, সর্বাধিক শক্তিশালী: খালি আমদানি কমান্ড দিয়ে পাইথনে ফাইলগুলি আমদানি করুন:
- একটি নতুন ডিরেক্টরি তৈরি করুন
/home/el/foo5/
- একটি নতুন ডিরেক্টরি তৈরি করুন
/home/el/foo5/herp
__init__.py
হার্পের অধীনে একটি খালি ফাইল তৈরি করুন :
el@apollo:/home/el/foo5/herp$ touch __init__.py
el@apollo:/home/el/foo5/herp$ ls
__init__.py
একটি নতুন ডিরেক্টরি / হোম / এল / foo5 / হার্প / ডার্প তৈরি করুন
ডের্পের অধীনে, অন্য একটি __init__.py
ফাইল তৈরি করুন:
el@apollo:/home/el/foo5/herp/derp$ touch __init__.py
el@apollo:/home/el/foo5/herp/derp$ ls
__init__.py
আন্ডার / হোম / এল / foo5 / হার্প / ডার্প একটি নতুন ফাইল এটি yolo.py
রাখুন নামে রাখুন:
def skycake():
print "SkyCake evolves to stay just beyond the cognitive reach of " +
"the bulk of men. SKYCAKE!!"
সত্যের মুহূর্তটি, নতুন ফাইলটি তৈরি করুন /home/el/foo5/main.py
, এটি এখানে রাখুন;
from herp.derp.yolo import skycake
skycake()
চালাও এটা:
el@apollo:/home/el/foo5$ python main.py
SkyCake evolves to stay just beyond the cognitive reach of the bulk
of men. SKYCAKE!!
খালি __init__.py
ফাইলটি পাইথন ইন্টারপ্রেটারের সাথে যোগাযোগ করে যে বিকাশকারী এই ডিরেক্টরিটিকে একটি আমদানযোগ্য প্যাকেজ হিসাবে অভিহিত করে।
আপনি যদি ডিরেক্টরিতে সমস্ত .py ফাইল অন্তর্ভুক্ত করতে চান তবে আমার পোস্টটি দেখতে এখানে দেখুন: https://stackoverflow.com/a/20753073/445131