Python可以引入指定路径的文件,原理就是使用sys.path.append加入到程序查找的路径。
实验目的:调用不同目录的类和接口,entry调用is_class和is_method的接口。
实验过程:
使用sys.path.append('Dir1\\Dir2'),把当前目录下的“Dir1\\Dir2”加入到python查找文件的路径下。
import方法或者类就会在Dir1\\Dir2路径下查找。
测试目录:C:\\Users\\OOXX\\Desktop\\test
目录结构
C:.
│ entry.py
│
└─Dir1
└─Dir2
│ is_class.py
│ is_method.py
is_method.py内容:
def to_do():
print('method to do')
is_class.py内容
class Class:
def __init__(self):
print('class init')
def to_do(self):
print('class to do')
entry.py内容
import sys
sys.path.append('Dir1\\Dir2')
import is_method
from is_class import Class
print(sys.path)
print('----------------------------------------------------')
print('class import example.............................')
Class().to_do()
print('')
print('method import example............................')
is_method.to_do()
开始执行测试
$ python entry.py
['C:\\Users\\OOXX\\Desktop\\test', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\python37.zip', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\DLLs', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\lib', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37', 'C:\\Users\\Ouyanghy\\AppData\\Roaming\\Python\\Python37\\site-packages', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\win32', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\win32\\lib', 'C:\\Users\\Ouyanghy\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\Pythonwin',
'Dir1\\Dir2']
----------------------------------------------------
class import example.............................
class init
class to do
method import example............................
exec to do
打印sys.path可以看到'Dir1\\Dir2'在环境变量的list内。
本文介绍如何在Python中通过修改sys.path来实现跨目录导入模块的方法,并通过实例演示了从不同目录下导入类和方法的过程。
1504

被折叠的 条评论
为什么被折叠?



