一、概念
1、什么是模块
.py文件,.pyc都可以称为一个模块
2、包
_ _init_ _.py 文件的可以理解为一个包
二、模块导入
1、分类
1.1 自定义、第三方库、python自带的
2、导入方式
查看python 默认找包的目录
import sys
print(sys,path)
2.1 import 模块名
1、导入的是py文件
2、查看python默认找包的目录(了解)
2.2 from 模块名 import 类、变量、函数
2.3 from 模块名 import *
2.4 from 项目名.包.py文件名称 import 类、变量、函数
from py39.day10.demo1001 import * 目录[py39项目,py40项目]
2.5 快捷键 windows:alt + 回车 mac:option + 回车
import day10
from day10.demo import Test
from day08 import *
三、路径获取
1、os.path.dirname(__file__) 返回当前运行的文件所在的路径(绝对路径)
2、os.path.abspath('test.txt') 返回指定文件的绝对路径
3、os.getcwd() 返回当前进程的工作目录(相当于Linux里面的pwd)
import os
print(__file__)
a = os.path.abspath('test.txt')
print(a)
s = os.getcwd()
print(s)
四、路径拼接
os.path.join(path1,path2,path3)
1、不加斜杠,会自动生成(掌握)
res_path = os.path.join(path1,path2,path3)
2、手动加\在路径后面,需要转义
path1='ningmengban\\' path2='api\\' path3='login.html' res_path = os.path.join(path1,path2,path3)
3、手动加\在路径前面
1、路径中只有一个\:会找到\开始的路径进行拼接,前面的路径会丢弃掉
2、路径中有多个\:从最后一个带\路径的开始拼接
import os
# 不加斜杠
path1='test'
path2='api'
path3='login.html'
res_path1 = os.path.join(path1,path2,path3)
print(res_path1)
# 加斜杠需要进行转译
path4='test\\'
path5='api\\'
path6='login.html'
res_path2 = os.path.join(path4,path5,path6)
print(res_path2)
# \加在最前面
path7='test'
path8=r'\api'
path9='\login.html'
res_path3 = os.path.join(path7,path8,path9)
print(res_path3)
五、目录切换
os.chdir(path)
os.rmdir(path)
import os, sys
path = "D:/python/day09/"
# 查看当前工作目录
retval = os.getcwd()
print ("当前工作目录为 %s" % retval)
# 修改当前工作目录
os.chdir(path)
# 查看修改后的工作目录
retval = os.getcwd()
print ("目录修改成功 %s" % retval)
import os, sys
# 列出目录
print ("目录为: %s" %os.listdir(os.getcwd()))
# 移除
os.remove("test")
# 移除后列出目录
print ("移除后 : %s" %os.listdir(os.getcwd()))
六、魔术方法
1、__file__;获取运行模块或文件的绝对路径
2、__name__:获取函数名称
3、__doc__:获取函数的注释(多行注释)
4、__dict__:获取对象的所有属性
import os
print(os.__file__)
print(os.__name__)
print(os.__doc__)
print(os.__dict__)