os模块
import os # 工作路径相关 # os.getcwd() # 获取当前工作路径。在哪个路径下运行的py文件,就是什么路径 # os.chdir() 改变当前工作路径 # os.curdir 返回当前路径 一直返回 . # os.pardir 返回父级路径 一直返回 .. # 文件操作相关 # os.rename('oldname','newname') 重命名文件/文件夹 # os.remove(文件名) 删除一个文件 不能删除目录 # os.mkdir(文件夹名) #创建一个单级目录 # os.makedirs(路径,exist_ok=False) # 创建多级目录 exist_ok=False的时候,如果要创建的目录已经存在,会报错。如果为True不会报错,也不重新创建 # os.rmdir(文件夹) # 删除文件夹,不能删除非空文件夹。只能删除一级目录 # os.removedirs(路径) # 删除多级目录,不能删除非空文件夹 # os.listdir() # 查看路径下的文件和文件夹 # os.stat() # 查看文件相关信息 # ''' # os.stat_result( # st_mode=33188, inode 保护模式 # st_ino=1055816, inode 节点号 # st_dev=64769, inode 驻留的设备 # st_nlink=1, inode 连接数 # st_uid=0, 所有者用户id # st_gid=0, 所有者组id # st_size=919, 普通文件以字节为单位的大小;包含等待某些特殊文件的数据 # st_atime=1560517597, 上次访问时间 # st_mtime=1560517597, 最后一次修改时间 # st_ctime=1560517597 由操作系统报告的'ctime'。在某些系统上(如Unix)是最新元组数据更改的时间,在其他系统上(如Windows)是创建时间 # ) # ''' # 系统差异 # os.sep 当前操作系统的目录分隔符 (windows \) (linux /) # os.linesep 当前操作系统的行终止符 (windows \r\n) (linux \n) # os.pathsep 用于分割文件路径的字符串 (windows ;) (linux :) 在环境变量中可以看见 # os.name 当前使用的平台 (windows nt) (linux posix) # 执行操作系统命令 # os.system(shell命令) # 拿不到结果 # os.popen() # 可以使用read() 方法获取结果 # os.environ # 查看系统环境变量 # os.path系列 # os.path.abspath(path) 返回一个规范化的绝对路径 # os.path.split(path) 传入一个路径,会将最后一个/后的内容跟前面的内容分开,放入一个元组,/home/Jupyter/3.模块/1.txt --》('/home/Jupyter/3.模块', '1.txt') # os.path.dirname(path) 传入 /home/Jupyter/3.模块/1.txt 返回 /home/Jupyter/3.模块 # os.path.basename(path) 传入 /home/Jupyter/3.模块/1.txt 返回 1.txt # os.path.exists(path) 判断路径是否存在,存在返回Trut 不存在返回False # os.path.isabs(path) 判断路径是否是绝对路径 # os.path.isfile(path) 判断路径是否是文件 # os.path.isdir(path) 判断路径是否是目录 # os.path.join() 根据平台的分隔符,做路径的拼接 os.path.join(/home,aaa,bbb,ccc) --> /home/aaa/bbb/ccc # os.path.getatime(path) 返回文件或者目录的最后访问时间 # os.path.getmtime(path) 返回文件或者目录的最后修改时间 # os.path.getsize()返回文件或者目录的大小单位B(字节)/如果是目录返回的都是4096,因为操作系统规定文件夹大小都是4096.里面是否有文件,文件大小是多少他不管
import os def get_size(path): path = os.path.abspath(path) size = 0 if os.path.isfile(path): return os.path.getsize(path) else: lst = os.listdir(path) if not lst: return 0 for name in lst: size += get_size(os.path.join(path,name)) return size print(get_size('/bin'))