Dapatkan detail modul python

Pada artikel ini, kita akan melihat bagaimana menemukan modul tertentu dengan Python. Menemukan modul berarti menemukan direktori tempat modul diimpor. Saat kami mengimpor modul, juru bahasa Python mencari modul dengan cara berikut

  • Pertama, ia mencari modul di direktori saat ini
  • Jika modul tidak ditemukan di direktori saat ini, Python kemudian mencari setiap direktori di variabel shell PYTHONPATH. PYTHONPATH adalah variabel lingkungan, terdiri dari daftar direktori
  • Jika itu juga gagal, python memeriksa daftar direktori yang bergantung pada instalasi yang dikonfigurasi pada saat Python diinstal

Sistem. path berisi daftar direktori saat ini, PYTHONPATH, dan default yang bergantung pada penginstalan. Kami akan membahas cara menggunakan ini dan metode lain untuk menemukan modul di artikel ini.  

Dapatkan lokasi modul tertentu di Python menggunakan modul OS

Untuk modul Python murni, kita dapat menemukan sumbernya dengan module_name. __mengajukan__. Ini akan mengembalikan lokasi di mana modul itu. file py ada. Untuk mendapatkan direktori kita bisa menggunakan os. jalur. dirname() metode dalam modul OS. Sebagai contoh jika kita ingin mengetahui letak modul ‘random’ dengan menggunakan cara ini maka kita akan mengetikkan berikut ini pada file python

Piton




# importing random module

import random

 

# importing the os module

import os

 

# storing the path of modules file_

# in variable file_path_

file_path= import0

 

import1

import2 = import4

 

import5

import6import7import2import9

Keluaran

Dapatkan detail modul python

 

Dapatkan jalur sumber modul tertentu menggunakan sys. jalur

Untuk metode ini, kita akan menggunakan modul sys. Sistem. variabel path modul sys berisi semua direktori yang akan dicari modul saat runtime. Jadi dengan mengetahui direktori ini kita dapat memeriksa secara manual di mana modul khusus kita berada. Untuk mengimplementasikan ini kita harus menulis yang berikut di shell python. -

Piton




random_0

import random2

 

random_3

import6random5

Ini akan mengembalikan daftar semua direktori yang akan dicari modul saat runtime

Keluaran

['/rumah', '/usr/lib/python2. 7', '/usr/lib/python2. 7/plat-x86_64-linux-gnu’, ‘/usr/lib/python2. 7/lib-tk’,

'/usr/lib/python2. 7/lib-old', '/usr/lib/python2. 7/lib-dynload’, ‘/usr/local/lib/python2. 7/dist-paket’,

'/usr/lib/python2. 7/dist-paket’]

Dapatkan lokasi sumber modul tertentu menggunakan help(module_name)

Di shell python setelah kami mengimpor beberapa modul, kami dapat memperoleh berbagai informasi tentang modul menggunakan help(module_name). Sebagai contoh, jika kita ingin mengetahui letak modul os menggunakan metode ini kita akan mengetikkan perintah berikut di shell python

Piton




random_6

import os

 

random_9

import6import7# importing the os module2# importing the os module3

Di bawah berbagai informasi, kami akan menemukan tajuk dengan nama FILE di bawahnya yang akan menampilkan lokasi modul

Keluaran

/berbagai informasi lainnya/

MENGAJUKAN

C. \Users\lenovo\appdata\local\programs\python\python39\lib\os. py

Dapatkan lokasi modul tertentu di Python menggunakan modul inspeksi

Kami juga dapat menggunakan modul inspeksi dengan python untuk menemukan modul. Kami akan menggunakan inspeksi. getfile() metode pemeriksaan modul untuk mendapatkan path. Metode ini akan menggunakan nama modul sebagai argumen dan akan mengembalikan jalurnya. Misalnya, jika kita ingin mencari direktori modul os menggunakan metode ini, kita akan menulis kode berikut

Dalam Python terkadang Anda perlu mencari tahu di mana suatu fungsi berada di hard disk, atau file apa yang memanggil fungsi Anda. Modul os menyediakan alat untuk mendapatkan informasi file dan direktori dan modul menyediakan kemampuan untuk memeriksa tumpukan dan melihat modul apa yang memanggil fungsi Anda

Dapatkan informasi file tentang modul

Modul os di Python menyediakan banyak cara berguna untuk mendapatkan nama file tempat modul berada. Ada fungsi untuk mendapatkan nama file, nama direktori, dan mendapatkan jalur absolut. Lihat contoh ini

# Example assumes this file is named test.py
# and lives in /home/nanodano/
# https://docs.python.org/3/library/os.path.html

import os

# Prints the full path of where the os.py module resides
print(os.__file__)


# The name of file where this print statement is written
print(__file__)
# test.py

# Get the full absolute path using os.path.abspath()
print(os.path.abspath(__file__))
# /home/nanodano/test.py

# Get the directory name of a file with os.path.dirname()
print(os.path.dirname(__file__))
# Relative to current directory
# Prints an empty string if being run from current directory
# Prints . if being called from a deeper directory

# Combine to get absolute path of the directory containing the python file
print(os.path.abspath(os.path.dirname(__file__)))
# /home/nanodano

## Other functions that might be useful
# os.path.join()  # Join directory names using system specific dir separator
# os.sep()  # Path separator character (system specific)
# os.getcwd()  # Full absolute path
# os.walk()  # Generator to walk dirs recursively
# os.listdir()  # Current dir or specific dir

Dapatkan modul dan nama file pemanggil

Dalam beberapa kasus, fungsi Anda dipanggil oleh kode dari yang lain. file py. Jika Anda ingin mengetahui dari mana fungsi Anda dipanggil, Anda dapat memeriksa tumpukan. Modul inspeksi menyediakan cara untuk mendapatkan data ini

import inspect

# Import this to other module and call it
def print_caller_info():
    # Get the full stack
    stack = inspect.stack()
   
    # Get one level up from current
    previous_stack_frame = stack[1]
    print(previous_stack_frame.filename)  # Filename where caller lives

    # Get the module object of the caller
    calling_module = inspect.getmodule(stack_frame[0])
    print(calling_module)
    print(calling_module.__file__)


if __name__ == '__main__':
    print_caller_info()
_

Kesimpulan

Setelah membaca ini, Anda harus tahu cara mendapatkan nama file relatif dan absolut dari modul Python saat ini serta modul yang memanggil fungsi Anda

Bagaimana cara menemukan detail modul dengan Python?

Menggunakan dir() untuk mendapatkan fungsi dalam modul . Fungsi menghasilkan hasil yang paling relevan daripada hasil lengkap karena mencantumkan fungsi publik dan non-publik.

Bagaimana cara memeriksa modul dalam paket Python?

Untuk memeriksa semua modul Python yang terpasang, kita dapat menggunakan dua perintah berikut dengan 'pip'. Menggunakan perintah 'pip freeze' . Menggunakan 'perintah daftar pip .

Bagaimana cara mendapatkan daftar modul bawaan dengan Python?

listdir(). Modul os memiliki listdir() fungsi yang mengembalikan daftar semua file dalam direktori tertentu.