python导入模块一般使用 import方法
如何把a.py文件中输入导入b.py呢?
假如a.py代码如下:
def module_hello():
print("hello")
test = “abc”
然后b.py需要引入a.py中的函数或者参数
第一种方法:推荐使用
b.py代码如下:
import a #导入a模块
a.module_hello() 先输入a代表从a中导入需要的模块,加一个点,之后输入a中的模块名,module_hello,表示导入a中的module_hello模块
结果为
hello
第二种方法:不推荐
b.py代码如下:
from a import * #从a中导入所有的a中的参数
module_hello()
结果为
hello
这样做有一个缺点,类似于把a中的文件全部复制到b中,这样就到导致了,加入b中也定义一个 test变量,那么就会导致冲突了,所有一般不建议这样导入,
第三种方法:
from a import test as test_a
这句导入语句表示,从a.py模块中导入 test模块,但是因为b.py文件中,存在一个test变量,因此我把导入的test模块在b.py中变成test_a,这样就不会冲突了
导入多个模块
import a,b,c 使用,连接
导入模块的本质就是把python文件解释一遍
包的本质就是一个目录,必须带一个init.py文件
导入包的本质就是执行包目录下的init.py文件
获取文件路径
import os,sys
print(os.path.abspath(__file__)) #获取文件的当前路径
print(os.path.dirname(os.path.abspath(__file__))) # 获取文件的当前文件夹的路径
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# 获取文件夹的上上级目录路径
结果:
D:\study\python\day5\module\test.py
D:\study\python\day5\module
D:\study\python\day5\
把文件夹加入环境变量
sys.path.append(os.path.dirname(os.path.abspath(__file__)))