Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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模块调用函数?_Python - Fatal编程技术网

如何从不同文件夹中的python模块调用函数?

如何从不同文件夹中的python模块调用函数?,python,Python,我的项目结构如下: /project-name app.py /python-modules login.py home.py 我想将login.py和home.py中的一些函数导入app.py 我试图从python-modules.login import运行,但没有成功。简单的解决方案就是在两个文件夹(即项目名称和python模块)中创建空白(空)\uu init\uuuuuuuuuupy.py文件。我应该更改包(目录)的名称:在包的名称中使

我的项目结构如下:

/project-name
    app.py
    /python-modules
        login.py
        home.py
我想将login.py和home.py中的一些函数导入app.py


我试图从python-modules.login import运行
,但没有成功。

简单的解决方案就是在两个文件夹(即项目名称和python模块)中创建空白(空)
\uu init\uuuuuuuuuupy.py
文件。

我应该更改包(目录)的名称:在包的名称中使用破折号不是一个好的做法(见附件)

python模块中是否有
\uuu init\uuuuuuuuuuuuupy.py
文件?刚刚在项目根目录中创建,python模块文件夹现在请重新尝试导入。我认为根目录中不需要
\uuu init\uuuuuuuuuupy
,除非项目是一个包,但根据项目的结构,它看起来不像包。@Ipozo从python-modules.login import*
运行了这个命令
。在login.py中,我有一个函数名def login():,在app.py中,我使用了login(),但它给出了语法错误。已创建,然后创建?然后它将工作。我确实将破折号更改为下划线,但在问题中没有更改。感谢您的提及!是的,这就是问题所在。我看不到详细信息。包名必须是有效的Python标识符,因此不能在包名中使用破折号。您应该将其更改为underscore:
python\u模块
。这就是您的
语法错误
的原因。