#os模块
#os模块 用于提供系统级别的操作
# 当前执行这个python文件的工作目录相关的工作路径
import os
os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径(在那执行就是那个路径)
print(os.getcwd())
#结果
# K:python3 estday27
os.chdir("K:/python3/test/day27") # 改变当前脚本工作目录,相当于shell下的cd
print(os.chdir("K:/python3/test/day27"))
os.curdir #返回当前目录(".")
os.pardir #获取当前目录的父目录字符串名("..")
#和文件夹相关
os.makedirs("文件1/文件2") # 可生成多层递归目录(有exit_ok参数)
os.removedirs("文件1/文件2/文件3") # 递归向上删除文件夹,只有删除当前目录之后,发现上一级目录也为空了
# 就把上一级目录页删掉,如果发现上一级目录也有其他文件就停住
os.rmdir("文件") # 不能删除空文件夹,只能删一级
os.mkdir("文件") #创建文件
os.makedirs("文件1/文件2") # 创建多级文件
os.listdir("文件") # 列出指定目录下的所有文件和子目录,包含隐藏文件,并与列表方式打印
os.remove("文件") # 删除一个文件
os.renames("oldname","nwename") # 重命名文件/目录
os.stat("path/filename") # 获取文件/目录信息
# 和操作系统命令相关mok
os.system("bash command") # 运行shell命令,直接显示
os.popen("bash command").read() #运行shell命令,获取执行结果
os.envirom #获取系统环境变量
# path系列,和路径相关
os.path.abspath(path) # 返回path规范化的绝对路径(根据操作系统来)
os.path.split(path) # 将path分割成目录和文件名二元组返回(前面一串和最后一个文件或者目录)
os.path.dirname(path) # 返回path的目录
os.path.basename(path) # 返回path最后的文件名,如果path以/或者结尾,那么就返回空值,即os.path.split(path)的弟而个元素
os.path.exists(path) # 如果path存在,返回True 如果不存在返回Flase
os.path.isabs(path) # 如果path存在一个目录,就返回True否则返回Flase
os.path.join(path1[,path2[,...]]) # 将多个路径组返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) 返回path指向的文件或目录的最后访问时间
os.path.getmtine(path) 返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小(某一个文件的大小,文件大小是4096(创建时就是这样子))
#注意: os.stat("path/filenme")
stat结构
st_mode:inode 保护模式
st_ino:inode 节点号
st_dev:inode 驻留设备
st_uid: 所有者的用户id
st_gid 所有组的用户id
st_size 普通文件以字节为单位的大小,包含等待某些特殊文件的数据
st_atime 上次访问时间
st_mtime 最后一次修改时间
st_ctime 由操作系统报告的"ctime"