导入python

时间:2018-06-12 11:57:46

标签: python-2.7 python-import importerror

我在同一个位置有两个文件,即' hello-depend.py'和' second-package.py'

hello-depend.py

 class HelloDepend():

    def depend():

         print "depend"

second-package.py

from hello-depend import HelloDepend

 class SecondPackage():

    def second():

       print "second"

       h = HelloDepend()

       h.depend()


 if \__name__ == '\__main__':

    s = SecondPackage()

    s.second()

我需要从second-package.py为hello-depend.py创建对象。我用上面的方法绑。但我得到了语法错误'在导入' hello-depend'时

错误:

文件" second-package.py",第1行

import hello-depend

            ^

SyntaxError:语法无效

所以我尝试使用以下方法。

导入importlib

importlib.import_module(' HELLO-依赖&#39)

但我得到了" 全球名称' HelloDepend'没有定义'

请帮我解决这个问题。

注意:我需要在不更改文件名的情况下执行此操作。

1 个答案:

答案 0 :(得分:1)

这里的问题是-。 Python会尝试将其视为减号,而hello-depend则不是有效的标识符。

尝试通过替换 - 使用下划线(_

来重命名文件

编辑: 如果您无法更改文件名,无论原因是什么,那么您可以

execfile('hello-depend.py')

请注意,这不会导入文件,它会将所有文件全局变量放入您自己的范围内,而且他极力推荐解决此问题。