问题:从另一个文件导入变量?
如何将变量从一个文件导入到另一个文件?
示例:file1
具有变量x1
以及x2
如何将其传递给file2
?
如何将所有变量从一个导入到另一个?
回答 0
from file1 import *
将导入file1中的所有对象和方法
回答 1
导入file1
内部file2
:
要从文件1导入所有变量而不泛洪文件2的命名空间,请使用:
import file1
#now use file1.x1, file2.x2, ... to access those variables
要将所有变量从file1导入到file2的命名空间(不推荐):
from file1 import *
#now use x1, x2..
从文档:
虽然
from module import *
在模块级别使用是有效的,但通常不是一个好主意。首先,它失去了Python否则具有的重要属性-您可以知道每个顶级名称在您喜欢的编辑器中通过简单的“搜索”功能定义的位置。如果某些模块增加了其他功能或类,将来还会给自己带来麻烦。
回答 2
最好显式导入x1和x2:
from file1 import x1, x2
这样可以避免file1
在中工作时与变量和函数发生不必要的命名空间冲突file2
。
但是,如果您确实需要,可以导入所有变量:
from file1 import *
回答 3
实际上,使用以下命令导入变量并不完全相同:
from file1 import x1
print(x1)
和
import file1
print(file1.x1)
在导入时,x1和file1.x1的值完全相同,但它们不是相同的变量。例如,在file1中调用一个修改x1的函数,然后尝试从主文件中打印该变量:您将看不到修改后的值。
回答 4
马克的回答是正确的。实际上,您可以打印变量的内存地址,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)))
回答 5
script1.py
title="Hello world"
script2.py是我们使用script1变量的地方
方法1:
import script1
print(script1.title)
方法2:
from script1 import title
print(title)
回答 6
在Python
您可以访问的其他文件的内容像,就好像它们
是某种库,比起像Java或任何OOP语言基础等语言,这是真的很酷;
这使得可以访问文件的内容或将其导入以对其进行处理或对其进行任何处理;这就是为什么Python
高度首选数据科学和机器学习等语言的主要原因;
我从.env file
哪里访问API links
秘密密钥和秘密密钥所在的位置。
总体结构:
from <File-Name> import *
回答 7
first.py:
a=5
second.py:
import first
print(first.a)
结果将是5。