Как импортировать переменные из одного файла в другой?
example: file1
имеет переменные x1
и x2
, как передать их в file2
?
Как я могу импортировать переменные всех из одного в другой?
Как импортировать переменные из одного файла в другой?
example: file1
имеет переменные x1
и x2
, как передать их в file2
?
Как я могу импортировать переменные всех из одного в другой?
from file1 import *
импортирует все объекты и методы в файл1
Импортировать file1
внутри file2
:
Чтобы импортировать все переменные из файла1 без заливки пространства имен file2, используйте:
import file1
#now use file1.x1, file2.x2, ... to access those variables
Чтобы импортировать все переменные из пространства имен file1 в file2 (не рекомендуется):
from file1 import *
#now use x1, x2..
Из docs:
В то время как на модульном уровне допустимо использовать
from module import *
, это обычно плохая идея. Во-первых, это теряет важное свойство Python в противном случае - вы можете знать, где каждое имя верхнего уровня определяется простая функция поиска в вашем любимом редакторе. Вы также открываете самостоятельно в будущем, если какой-то модуль растет функций или классов.
Лучше всего импортировать x1 и x2:
from file1 import x1, x2
Это позволяет избежать ненужных конфликтов пространства имен с переменными и функциями из file1
при работе в file2
.
Но если вы действительно этого хотите, вы можете импортировать переменные all:
from file1 import *
На самом деле это не так, чтобы импортировать переменную с:
from file1 import x1
print(x1)
а также
import file1
print(file1.x1)
На момент импорта x1 и file1.x1 имеют одинаковое значение, они не являются теми же переменными. Например, вызовите функцию в файле1, которая изменяет x1, а затем попытается напечатать переменную из основного файла: вы не увидите измененное значение.
Марк прав. На самом деле, вы можете напечатать адрес памяти для переменных (print (hex (id (libvar)))), и вы увидите, что адреса разные.
# 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)))
В Python
вы можете получить доступ к содержимому других файлов, как будто они
какая-то библиотека, по сравнению с другими языками, такими как Java или любой другой
ой базовые языки, это действительно круто;
Это делает доступ к содержимому файла или импортировать его для обработки
это или сделать что-нибудь с этим;
И это главная причина, почему Python
является наиболее предпочтительным языком для
Наука о данных и машинное обучение и т. Д.;
И это картина project structure
Где я обращаюсь к переменным из .env file
, где API links
и
Секретные ключи хранятся.
Общая структура:
from <File-Name> import *