Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 在python中导入文件时发生导入错误_Python 2.7_Python Import_Importerror - Fatal编程技术网

Python 2.7 在python中导入文件时发生导入错误

Python 2.7 在python中导入文件时发生导入错误,python-2.7,python-import,importerror,Python 2.7,Python Import,Importerror,我在同一位置有两个文件,即“hello dependen.py”和“second package.py” hello dependen.py class HelloDepend(): def depend(): print "depend" from hello-depend import HelloDepend class SecondPackage(): def second(): print "second"

我在同一位置有两个文件,即“hello dependen.py”和“second package.py”

hello dependen.py

 class HelloDepend():

    def depend():

         print "depend"
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

 class HelloDepend():

    def depend():

         print "depend"
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-dependent.py创建对象。我用上述方法打成平局。但在导入“hello Dependent”时,我遇到了“语法错误”

错误:

文件“second package.py”,第1行

SyntaxError:无效语法

所以我试着用下面的方法

导入导入库

importlib.import_模块('hello-depend'))

但我得到了“全局名称”“HelloDepend”未定义”

请帮我解决这个问题


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

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

尝试通过将-替换为下划线(
\uu
)来重命名文件

编辑: 如果你只是不能更改文件名,不管原因是什么,那么你可以这样做

execfile('hello-depend.py')


请注意,这不会导入该文件,它会将所有文件全局文件都导入到您自己的作用域中,因此他极不推荐解决此问题。

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

尝试通过将-替换为下划线(
\uu
)来重命名文件

编辑: 如果你只是不能更改文件名,不管原因是什么,那么你可以这样做

execfile('hello-depend.py')


请注意,这不会导入该文件,它会将所有全局文件导入到您自己的范围内,他解决此问题的方法非常不可取。

@MohitC我已经厌倦了。导入完整的日志时,我遇到了“语法错误”traceback@MohitC.我已经发布了错误消息Remove
-
from module name and use
 _
然后再试一次。@MohitC我已经厌倦了这一点。。我在导入完整的日志时遇到了“语法错误”traceback@MohitC。我已发布错误消息从模块名称中删除
-
,并使用
然后重试。我需要此功能,但不更改文件名。我也提到了这一点。请阅读PEP8 conevnPython不允许包名是这样的我需要这个功能而不改变文件名。我也提到过。请阅读这里的PEP8说明。Python不允许包名是这样的