Python 3.6 从并行文件夹中导入 class
Python 3.6 Importing a class from a parallel folder
我的文件结构如下图,
MainFolder
__init__.py
FirstFolder
__init__.py
firstFile.py
SecondFolder
__init__.py
secondFile.py
在 firstFile.py 中,我有一个名为 Math
的 class
,我想在 secondFile.py.
中导入这个 class
firstFile.py
代码
class Math(object):
def __init__(self, first_value, second_value):
self.first_value = first_value
self.second_value = second_value
def addition(self):
self.total_add_value = self.first_value + self.second_value
print(self.total_add_value)
def subtraction(self):
self.total_sub_value = self.first_value - self.second_value
print(self.total_sub_value)
secondFile.py
代码
from FirstFolder.firstFile import Math
Math(10, 2).addition()
Math(10, 2).subtraction()
当我尝试 运行 secondFile.py 时出现此错误:ModuleNotFoundError: No module named 'First'
我正在使用 Windows 并且 MainFolder 位于我的 C 盘中,在 C:\Users\Name\Documents\Python\MainFolder
下
我尝试过的可能解决方案是,为所有主文件夹和子文件夹创建空的 __init__.py
,将 MainFolder 的目录添加到系统属性 environment variable
下的 path
并使用 import sys
& sys.path.append('\Users\Name\Documents\Python\MainFolder')
.
不幸的是,我找到的所有这些解决方案都不起作用。如果有人可以向我强调我的错误或提出其他解决方案,那就太好了。任何帮助将不胜感激!
可能有两个问题。第一个是您的导入声明。导入语句应该是
from FirstFolder.firstFile import Math
第二个可能是您的 PYTHONPATH 环境变量不包含您的 MainFolder。
在 linux 和基于 unix 的系统上,您可以使用
在命令行上临时执行此操作
导出 PYTHONPATH=$PYTHONPATH:/path/to/MainFolder
在 windows
设置 PYTHONPATH="%path%;C:\path\to\MainFolder"
如果要永久设置,请使用 setx 而不是 set
我的文件结构如下图,
MainFolder
__init__.py
FirstFolder
__init__.py
firstFile.py
SecondFolder
__init__.py
secondFile.py
在 firstFile.py 中,我有一个名为 Math
的 class
,我想在 secondFile.py.
firstFile.py
代码class Math(object):
def __init__(self, first_value, second_value):
self.first_value = first_value
self.second_value = second_value
def addition(self):
self.total_add_value = self.first_value + self.second_value
print(self.total_add_value)
def subtraction(self):
self.total_sub_value = self.first_value - self.second_value
print(self.total_sub_value)
secondFile.py
代码from FirstFolder.firstFile import Math
Math(10, 2).addition()
Math(10, 2).subtraction()
当我尝试 运行 secondFile.py 时出现此错误:ModuleNotFoundError: No module named 'First'
我正在使用 Windows 并且 MainFolder 位于我的 C 盘中,在 C:\Users\Name\Documents\Python\MainFolder
我尝试过的可能解决方案是,为所有主文件夹和子文件夹创建空的 __init__.py
,将 MainFolder 的目录添加到系统属性 environment variable
下的 path
并使用 import sys
& sys.path.append('\Users\Name\Documents\Python\MainFolder')
.
不幸的是,我找到的所有这些解决方案都不起作用。如果有人可以向我强调我的错误或提出其他解决方案,那就太好了。任何帮助将不胜感激!
可能有两个问题。第一个是您的导入声明。导入语句应该是
from FirstFolder.firstFile import Math
第二个可能是您的 PYTHONPATH 环境变量不包含您的 MainFolder。
在 linux 和基于 unix 的系统上,您可以使用
在命令行上临时执行此操作导出 PYTHONPATH=$PYTHONPATH:/path/to/MainFolder
在 windows
设置 PYTHONPATH="%path%;C:\path\to\MainFolder"
如果要永久设置,请使用 setx 而不是 set