面试题答案
一键面试- 同一目录下导入:
- 在另一个Python脚本(假设为
main.py
)所在目录与my_module.py
相同的情况下,在main.py
中使用以下代码导入并使用add_numbers
函数:
from my_module import add_numbers result = add_numbers(3, 5) print(result)
- 在另一个Python脚本(假设为
- 不同目录下导入:
- 如果
my_module.py
与main.py
不在同一目录,假设my_module.py
在parent_dir
目录下,main.py
在child_dir
目录下。 - 方法一:使用
sys.path
- 在
main.py
中添加如下代码:
- 在
import sys sys.path.append('../parent_dir') from my_module import add_numbers result = add_numbers(3, 5) print(result)
- 方法二:将
parent_dir
设置为Python包,在parent_dir
目录下创建一个__init__.py
文件(可以为空),然后在main.py
中使用相对导入(假设main.py
在child_dir
,parent_dir
是child_dir
的上级目录):
(注意:这种相对导入方式适用于包内模块间的导入,如果from..parent_dir.my_module import add_numbers result = add_numbers(3, 5) print(result)
main.py
作为顶层脚本运行,可能会有些问题,通常在包结构内使用更合适。) - 如果