当单个py文件中,需要 import 其他文件时,需要使用到导入相对路径的代码
import os
import sys # 引入 python 标准库中的 sys.py 模块
# sys.argv 是一个包含命令行参数的列表
# sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表
print('命令行参数如下: ')
for i in sys.argv:
print(i)
print(len(sys.path))
print('\n\nPython 路径为: ', sys.path, '\n')
# 当解释器遇到 import 语句, 如果模块再当前的搜索路径就会被导入
# 搜索路径是一个解释器, 会先进行搜索的所有目录的列表.
# 一个模块只会被导入一次, 不管执行了多少次 import. 这样可以防止导入模块被一遍又一遍地执行
# 当使用 import 语句时, Python 解释器会依次从搜索路径的目录中去寻找所引入的模块
# Python 的搜索路径是由一系列目录名组成的, 这看起来很像环境变量, 事实上, 也可以通过定义环境变量的方式来确定搜索路径
# 搜索路径是在 Python 编辑或安装的时候确定的, 安装新的库应该也会修改
# 搜索路径被存储再 sys 模块中的 path 变量, 做一个简单的实验, 再交互式解释器中, 输入以下代码:
relative_path = '..\\Services\\Tornado\\PH_Duty'
absolute_path = os.path.abspath(relative_path)
sys.path.append(absolute_path)
print(sys.path)
# import duty_test
from duty_test import print_module_name
# import PH_Duty
print_module_name()
# print_module_name()
文件夹结构如图:
-- Services
-- Tornado
-- PH_Duty
CheckOnJob.py
DBHelper.py
DLMSHelper.py
duty_test.py
TornadoHelper.py
-- Test
扫描二维码关注公众号,回复:
16499090 查看本文章
import_module.py