Import langsung
Sebagai contoh, saya ingin mengimport fail ma_main.py
dalam env包
dalam make_env.py
untuk membaca Fungsi
Oleh kerana ma_main.py
dan env包
kedua-duanya berada dalam direktori akar src
pada masa ini, anda boleh terus mengimport dan terus mengimport
di sinifrom, maka apabila memanggil import
dalam make_env.py
, anda mesti menggunakan make_env()
untuk mengisytiharkan
PS:
dan from env import make_env
adalah samamake_env.py
make_env()函数
Fail boleh laku dan modul sasaran yang diimport tidak berada dalam direktori yang sama.
tidak menemui modul tersuai. from env import make_env
import env.make_env
Contohnya: anda ingin mengimport pakej dalam
untuk melaksanakan beberapa kaedah Walau bagaimanapun,berada di bawah dan
berada di bawah tidak berada dalam direktori yang sama Pada masa ini, fail main.py
dicari oleh modul penterjemah python pwcong
dalam senarai laluan tidak termasuk __init__.py
, jadi pada masa ini anda perlu menggunakan terbina dalam main.py
dalam python untuk mengimport laluan ./Torch/main/
modul tersuai pwcong
, dengan itu menambah tafsiran Python secara manual Senarai laluan ./Torch/
carian modul
boleh berjaya diimport, dan kemudian senarai laluan main.py
jurubahasa Python modul carian ./Torch
boleh berjaya diimport dalam Python, apabila anda sys包
mengimport modul, jurubahasa akan mencari modul daripada senarai laluan <.>. main.py
. Gunakan fungsi
untukSelepas menambah laluan baharu, anda boleh mengimport modul di bawah laluan ini melalui pernyataan PYTHONPATH
.
tidak menjejaskan ruang nama sys.path.append()
, ia hanya memberitahu jurubahasa tempat untuk mencari modul yang hendak diimport.
Langkah operasiimport
Import modul sys dahulu
Kemudian gunakan fungsisys.path.append(path)
ditakrifkan dalam Fungsi hello, cetak hello
melalui nama modul main.py
import sys sys.path.append(r"C:\Users\PC\Desktop\Torch") # 要加上地址生命符r, 并且要是绝对路径
__init__.py
Dalam Python,
untuk dianggap sebagai pakej
, ia mesti mengandungiFail. Fail ini boleh menjadi fail kosong, atau mengandungi beberapa kod permulaan pakej.
Direktori tanpa fail hanyalah direktori lain fail py tidak boleh mengimport fungsi dalam mana-mana fail py dalam direktori ini
__init__.py
: Fail boleh mengandungi pengisytiharan pembolehubah, kelas dan fungsi__init__.py
: Fail __init__.py
init
__init__.py
: Fail init.py boleh mengandungi kod yang mengimport modul lain. Ini boleh digunakan untuk menambah submodul pada ruang nama pakej supaya pengguna boleh mengaksesnya. __init__.py
Dalam Python, ruang nama ialah kamus yang mengandungi nama pembolehubah dan fungsi, digunakan untuk merekodkan nama dan nilai setiap pengecam. Setiap ruang nama dalam penterjemah Python ialah objek kamus yang pembolehubah dan fungsinya boleh diakses melalui pasangan nilai kunci kamus.
Terdapat tiga ruang nama dalam Python:
Ruang nama terbina dalam : Mengandungi pembolehubah dan fungsi terbina dalam penterjemah Python ini fungsi Ia boleh digunakan terus dalam program tanpa mengimport sebarang modul, seperti: fungsi print()
, fungsi len()
, dsb.
Ruang nama global : Dicipta apabila modul ditakrifkan, ia mengandungi pembolehubah dan fungsi yang ditakrifkan dalam fail modul. Pembolehubah dan fungsi ini boleh digunakan di mana-mana dalam modul.
Ruang nama setempat : Dicipta apabila fungsi dipanggil, ia mengandungi pembolehubah dan fungsi yang ditakrifkan dalam fungsi tersebut. Pembolehubah dan fungsi ini hanya boleh digunakan di dalam fungsi.
Peranan ruang nama adalah untuk mengelakkan konflik nama pembolehubah atau fungsi antara ruang nama yang berbeza dan untuk mengurus pembolehubah dan fungsi dengan lebih baik dalam program. Dalam Python, pembolehubah dalam ruang nama global dan bukan tempatan boleh diakses dan diubah suai dengan menggunakan kata kunci global
dan nonlocal
.
Atas ialah kandungan terperinci Apakah cara untuk mengimport pakej python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!