Jawaban:
from file1 import *
akan mengimpor semua objek dan metode dalam file1
ImportError: No module named file1
Impor file1
di dalam file2
:
Untuk mengimpor semua variabel dari file1 tanpa membanjiri namespace file2, gunakan:
import file1
#now use file1.x1, file2.x2, ... to access those variables
Untuk mengimpor semua variabel dari file1 ke namespace file2 (tidak disarankan):
from file1 import *
#now use x1, x2..
Dari dokumen :
Meskipun valid untuk digunakan
from module import *
pada level modul, biasanya merupakan ide yang buruk. Untuk satu, ini kehilangan properti penting yang dimiliki Python sebaliknya - Anda bisa tahu di mana setiap nama tingkat atas didefinisikan oleh fungsi "pencarian" sederhana di editor favorit Anda. Anda juga membuka diri terhadap masalah di masa depan, jika beberapa modul mengembangkan fungsi atau kelas tambahan.
import file1
.
file1.varX
untuk setiap file.
Terbaik untuk mengimpor x1 dan x2 secara eksplisit:
from file1 import x1, x2
Ini memungkinkan Anda untuk menghindari konflik namespace yang tidak perlu dengan variabel dan fungsi file1
saat bekerja file2
.
Tetapi jika Anda benar-benar ingin, Anda dapat mengimpor semua variabel:
from file1 import *
Sebenarnya ini tidak benar-benar sama dengan mengimpor variabel dengan:
from file1 import x1
print(x1)
dan
import file1
print(file1.x1)
Meskipun pada waktu impor x1 dan file1.x1 memiliki nilai yang sama, mereka bukan variabel yang sama. Misalnya, panggil fungsi dalam file1 yang memodifikasi x1 dan kemudian cobalah untuk mencetak variabel dari file utama: Anda tidak akan melihat nilai yang dimodifikasi.
Respons Marc benar. Sebenarnya, Anda dapat mencetak alamat memori untuk variabel print(hex(id(libvar))
dan Anda dapat melihat alamat yang berbeda.
# 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)))
Di Python
Anda dapat mengakses konten file lain seperti seolah-olah mereka
semacam perpustakaan, dibandingkan dengan bahasa lain seperti java atau bahasa dasar oop, Ini benar-benar keren;
Ini membuat mengakses konten file atau mengimpornya untuk memprosesnya atau melakukan apa pun dengannya; Dan itulah alasan utama mengapa Python
Bahasa sangat disukai untuk Ilmu Data dan Pembelajaran Mesin dll;
Dan ini adalah gambar project structure
Di mana saya mengakses variabel dari .env file
tempat API links
tombol Rahasia dan berada.
Struktur umum:
from <File-Name> import *