import os
# 获取当前文件目录
current_dir = os.getcwd()
print(current_dir)
# H:\python\视频练习
# 改变当前脚本工作目录,相当于liunx系统的CD
os.chdir('os_dir')
current_dir = os.getcwd()
print(current_dir)
# H:\python\视频练习\os_dir
# 递归建目录
os.makedirs('os_dir/os_dir1/os_dir2')
# H:\python\视频练习\os_dir\os_dir\os_dir1\os_dir2
# 新建目录,只能建一层
os.mkdir('os_dir3')
# H:\python\视频练习\os_dir\os_dir3
# 删除指定目录,如果指定目录为空就删除,如果上级目录也空,也删除。如果上级目录不空就不删
os.removedirs('os_dir/os_dir1/os_dir2')
# rmdir 只能删除单级目录为空的文件夹
os.rmdir("os_dir3")
# listdir 列出指定文件夹下面所有的文件夹和文件包括隐藏文件,以列表方式打印出来
res = os.listdir('.')
print(res)
# ['.idea', 'int.py', 'os_dir', 'os_model.py', 'Practice1.py',
# 'random_model.py', 'set.py', 'str.py', 'time_model.py', '__pycache__']
# remove 删除指定的一个文件
os.remove("os_dir/test.py")
# rename 修改文件夹名字或者是文件名字都可以
os.rename("os_dir", "os_dir_new")
# stat 查看一个文件的详细信息
detailed = os.stat("os_dir_new")
print(detailed)
# os.stat_result(st_mode=16895, st_ino=4222124650813985, st_dev=1380663041, st_nlink=1, st_uid=0, st_gid=0, st_size=0,
# st_atime=1567651964, st_mtime=1567651964, st_ctime=1567650794)
# st_size=28 文件大小,单位是字节
# st_atime=1528473600 用户上一次的访问时间
# st_mtime=1528552906 用户上一次修改的时间(常用)
# st_ctime=1528552713 用户的创建文件的时间
# sep 输出当前操作系统的路径分隔符
delimiter = os.sep
print(delimiter)
# \ OR /
# linesep 输出当前操作系统的行终止符,win是\r\n linux是\n
terminator = os.linesep
print(os.linesep)
# pathsep 输出用于分割文件路径的字符串win下为; linux下为:
print(os.pathsep)
# system 运行shell命令,直接显示结果
os.system('dir')
# 2019/09/05 11:16 <DIR> .
# 2019/09/05 11:16 <DIR> ..
# 2019/09/05 11:16 <DIR> .idea
# 2018/04/08 10:02 349 int.py
# 2019/09/05 10:52 <DIR> os_dir_new
# 2019/09/05 11:16 2,122 os_model.py
# 2019/07/10 11:15 3,637 Practice1.py
# 2019/09/03 17:32 1,129 random_model.py
# 2019/09/03 17:55 2,763 set.py
# 2019/07/12 10:32 6,909 str.py
# 2019/09/03 16:44 909 time_model.py
# 2019/09/03 17:37 <DIR> __pycache__
# 7 ���ļ� 17,818 �ֽ�
# 5 ��Ŀ¼ 62,732,263,424 �����ֽ�
# os.path.split 把路径分为2部分 1个是目录路径 1个是文件名
path = 'H:\python\视频练习\int.py'
dir_li = os.path.split(r"H:\python\视频练习\int.py")
print(dir_li)
# ('D:\\pyproject\\day21模块\\gouguoqinew', 'test.py')
# os.path.dirname 拿split分割的第一个元素
print(os.path.dirname(r"H:\python\视频练习\int.py"))
# H:\python\视频练习
# os.path.basename 拿split分割的第二个元素
print(os.path.basename(r"H:\python\视频练习\int.py"))
# int.py
# os.path.exists 判断路径是否存在,存在为True,不存在为False
res = os.path.exists("H:\python\视频练习\int.py")
print(res)
# os.path.isabs 如果是绝对路径就返回True,否则为False
res = os.path.isabs("H:\python\视频练习\int.py")
print(res)
# os.path.isfile 判断一个文件是否存在,存在为True,否则为False
res = os.path.isfile("H:\python\视频练习\int.py")
print(res)
# os.path.isdir 判断一个目录是否存在,存在为True,否则为False
res = os.path.isdir("H:\python\视频练习")
print(res)
# os.path.join 路径拼接
path_a = "H:\python\视频练习"
path_b = "int.py"
res = os.path.join(path_a, path_b)
print(res)
# H:\python\视频练习\int.py
# os.path.getmtime 返回path的文件或者是路径的最后修改时间,结果是时间戳
res = os.path.getmtime("H:\python\视频练习\int.py")
print(res)
# 1523152944.9235573
# 时间戳转换为结构化时间
import time
time_local = time.localtime(1528601360.0)
# 将结构化时间转化为字符串时间
res = time.strftime("%Y-%m-%d %X", time_local)
print(res)