Python–从同级目录导入
在本文中,我们将讨论在 Python 中从同级目录导入文件的方法。首先,在一个根文件夹中创建两个文件夹,并在每个文件夹中创建一个 python 文件。下面是字典树:
Directory Tree:
root :
|
|__SiblingA:
| \__A.py
|
|__SiblingB:
| \__B.py
在 B.py 中,我们将创建一个简单的函数,在 A.py 中,我们将导入同级模块,并调用在 B.py 中创建的函数。为了在 A.py 中导入同级模块,我们需要在 A.py 中指定父目录,这可以通过使用模块中的 path.append() 方法来完成。通过' .. 'append()方法中的将在 A.py 中追加父目录的路径
【A.py 的代码:
Python 3
# import requi9red module
import sys
# append the path of the
# parent directory
sys.path.append("..")
# import method from sibling
# module
from SiblingB.B import methodB
# call method
s = methodB()
print(s)
【B.py 的代码:
Python 3
# defining method to import
# in A.py which returns a string
def methodB():
return "\n\nThis is methodB from SiblingB"
*执行 A.py 后的输出:*
执行 A.py 并调用 methodB()。
*注意:*我们不能将 A.py 中的 methodB 直接导入为“from”..SiblingB。b 导入方法 b "这将给出一个错误,说明导入错误:试图在没有已知父包的情况下进行相对导入。这是因为 python 不将当前工作目录视为包 if init。py 在其中没有定义。
执行相同任务的另一种类似方式是通过将 _ init _ _,将兄弟目录作为一个包。py 文件,然后从同级目录中导入它。init。py 可以将所需的方法导入到其他模块中。下面是字典树:
**Directory Tree:**
root :
|
|__SiblingA:
| \__A.py
|
|__SiblingB:
| \_ __init__.py
| \__B.py
|
【A.py 的代码:
Python 3
# import requi9red module
import sys
# append the path of the
# parent directory
sys.path.append("..")
# import method from sibling
# module
from SiblingB import methodB
# call method
s = methodB()
print(s)
*代码为 init。py :*
Python 3
# from .fileName import methodName
from .B import methodB
【B.py 的代码:
Python 3
# defining method to import in
# A.py which returns this string
def methodB():
return "\n\nThis is methodB from SiblingB"
*执行 A.py 后的输出:*
*注意:*一次 init。py 放在一个文件夹中,这个文件夹现在在 python 中充当一个包。
版权属于:月萌API www.moonapi.com,转载请注明出处