কম্পিউটার টিউটোরিয়াল

পাইথন অবজেক্ট থেকে সোর্স কোড রিট্রিভ করা

inspect মডিউলের getsource() ফাংশন ব্যবহার করে কোনো অবজেক্ট (ফাংশন, ক্লাস, মেথড, মডিউল) এর সোর্স কোড স্ট্রিং আকারে পাওয়া যায়।

সিনট্যাক্স

import inspect
source = inspect.getsource(object)

উদাহরণ

# baz.py
import inspect

class foo:
    def bar():
        print('Hello')

print(inspect.getsource(foo))

আউটপুট

class foo:
    def bar():
        print 'Hello'

সীমাবদ্ধতা

  • সোর্স কোড ফাইল থেকে লোড হওয়া অবজেক্টের জন্য কাজ করে।
  • compile() দিয়ে স্ট্রিং থেকে তৈরি, বিল্ট-ইন, বা এক্সটেনশন মডিউলের সোর্স পাওয়া যায় না (IOError রেইজ হয়)।
  • ইন্টারঅ্যাক্টিভ শেল (REPL) এ ডিফাইন করা ফাংশনের সোর্স পাওয়া যায় না।

অন্যান্য hữu용 ফাংশন

  • inspect.getsourcefile(obj) — সোর্স ফাইল পাথ
  • inspect.getsourcelines(obj) — (lines, start_line_no) টাপল
  • inspect.signature(obj) — সিগনেচার অবজেক্ট
  1. পাইথনে লেবেল (Label) থেকে টেক্সট রিমুভ করা

  2. পাইথন কোড অবজেক্ট (Code Objects) - CPython ইন্টারনালস

  3. পাইথনে কাস্টমাইজড ইনডেক্স থাকলে সিরিজ থেকে একাধিক এলিমেন্ট কীভাবে রিট্রিভ করবেন?

  4. গুগল কোলাবরেটরিতে পাইথন কোড রান করার পদ্ধতি