Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 如何将[.myfolder.pyfile]导入为[其他内容]?_Python_Python 3.x_Import_Python Import_Boost Python - Fatal编程技术网

Python 如何将[.myfolder.pyfile]导入为[其他内容]?

Python 如何将[.myfolder.pyfile]导入为[其他内容]?,python,python-3.x,import,python-import,boost-python,Python,Python 3.x,Import,Python Import,Boost Python,假设我有 project |__ utilities | |__ foo.py | |__ boost_extensions | |__ myclass.cpp | |__ myclass.so | |__ someotherstuff | |__ bar.py | |__ mylib.py | |__ __main__.py 可以在main.py中执行类似操作吗

假设我有

project
   |__ utilities
   |      |__ foo.py
   |
   |__ boost_extensions
   |      |__ myclass.cpp
   |      |__ myclass.so
   |
   |__ someotherstuff
   |      |__ bar.py      
   |
   |__ mylib.py
   |
   |__ __main__.py
可以在main.py中执行类似操作吗

import .utilities.foo as Foo
# this function will pass Foo to C++ and initialize it to a global variable
initCppFunction(Foo)
我已经尝试过了,但是它给了我一个无效的语法错误(我尝试这么做是因为从boost/python导入python模块时出现了一些问题)。有办法做到这一点吗

谢谢使用

from.utilities将foo作为foo导入


从.utilities导入foo作为foo

我认为这里的问题是这些文件夹中没有
\uuuu init\uuuuuuuuy.py
,无论是
项目
文件夹还是
utilities
boost\u扩展
其他东西

为了让Python知道您希望能够进行导入,它必须知道有一组完整的代码,称为包。您可以通过将
\uuuu init\uuuu.py
文件放在任何您想要形式化并告诉Python“这是一个相关代码包”的地方来实现这一点

编辑 第一个答案也提出了一个很好的观点,即您可以从x.y导入z作为正确的语法

编辑2
克里希南是完全正确的。
\uuuu init\uuuu.py
文件中不需要任何内容。如果你愿意,你可以把代码放进去,但这根本不是必需的。

我认为这里的问题是这些文件夹中都没有
\uuu init\uuuuuuuuuy.py
文件夹,或者
项目
文件夹,或者
实用程序
或者
boost\u扩展
或者
其他东西

为了让Python知道您希望能够进行导入,它必须知道有一组完整的代码,称为包。您可以通过将
\uuuu init\uuuu.py
文件放在任何您想要形式化并告诉Python“这是一个相关代码包”的地方来实现这一点

编辑 第一个答案也提出了一个很好的观点,即您可以从x.y导入z作为正确的语法

编辑2
克里希南是完全正确的。
\uuuu init\uuuu.py
文件中不需要任何内容。如果需要,您可以将代码放入其中,但这根本不是必需的。

为了澄清,这些init文件可以完全为空,只告诉Python它是一个模块。为了澄清,这些init文件可以完全为空,只告诉Python它是一个模块。