我理解如何实际链接python文件,但是,我不明白如何从这些链接文件中获取变量。我试图抓住它们并继续获取NameError。
我该怎么做呢?我想链接文件的原因是简单地连接我的脚本而不是10000000000行。另外,在导入的python脚本中,我是否必须再次导入所有内容?另一个问题,我在使用其他脚本函数时是否使用自我函数?
即;
主脚本:
import sys, os
import importedpyfile
导入的Py文件
import sys, os
答案 0 :(得分:3)
我理解如何实际链接python文件,但是,我没有 了解如何从这些链接文件中获取变量。我试过了 抓住它们,我一直得到NameError。
你是怎么做到的?发布更多代码。例如,以下工作:
file1.py
#!/usr/bin/env python
from file2 import file2_func, file2_variable
file2_func()
print file2_variable
file2.py:
#!/usr/bin/env python
file2_variable = "I'm a variable!"
def file2_func():
print "Hello World!"
此外,在导入的python脚本中,我是否必须导入所有内容 再次?
没有,当python解释器读取该文件时,应该导入模块。
另一个问题,我在使用另一个时使用自我功能 脚本功能?
不,通常是访问班级成员。请参阅python self explained。
导入文件的方法也不止一种。有关解释,请参阅其他答案。
答案 1 :(得分:0)
在C / C ++将库链接到可执行文件的意义上,Python模块没有“链接”。 Python import 操作会创建一个引用导入模块的名称;没有这个名称就没有(直接)方式来访问另一个模块。
答案 2 :(得分:0)
我认为您要问的是如何从.py文件访问全局变量而无需处理命名空间。
在您的主脚本中,将呼叫替换为import importedpyfile
来代替
from importedpyfile import *
理想情况下,您可以按照自己的方式保存代码。但是,只需使用importedpyfile命名空间引用那些全局变量。
e.g。
import importedpyfile
importedpyfile.MyFunction() # calls "MyFunction" that is defined in importedpyfile.py