OS模块常用方法总结

何为OS:

operate system操作系统,如windowsOS、iOS... 

与文件有关的操作方法:

  1. getcwd():
    get current work direction获取当前工作目录
  2. chdir(新目录):
    change direction修改当前目录,在之后的操作中将在新目录中执行
  3. listdir(要查询的文件夹路径):
    获取当前文件夹的目录,返回生成列表
  4. mkdir(创建的路径,权限设置):
    make direction在给定路径下创建一个文件
  5. makedirs(创建的路径,权限设置):
    make directions在给定路径下创建一个多级文件夹
  6. rmdir(要删除文件夹的路径):
    remove direction删除一个空文件夹
  7. removedirs(要删除文件夹的路径):
    删除一个多级空文件夹
  8. rename(被修改的文件夹或文件的路径,修改后的文件名字及其路径):
    把一个文件夹或文件改名
  9. stat(要查询的文件路径):
    获取文件或文件夹的信息,返回值为元组

与环境变量相关的方法:

何为环境变量:

一组路径的组合
在执行命令时会提供查找相应文件的路径

  1. getenv('path'):
    get environment variable获取当前环境变量
  2. putenv('path','要添加的路径'):
    put environment variable设置python的环境变量
    【注意】在用python进行环境变量的操作时,python会从操作系统中拷贝一个环境变量。getenv是获取当前操作系统的环境变量,而putenv则是向python中的备份环境变量进行添加
    因此无法通过getenv来获取putenv添加的路径
  3. environ['path']:
    获取系统环境变量并返回字符串,同时可以对其赋值,达到覆盖当前环境变量的效果

os模块常用的属性:

  1. curdir:
    current direction获取当前相对路径,即.
  2. pardir:
    parent direction获取上级相对路径,即..
  3. path:
    os中的子模块
  4. name:
    获取系统标识符:windows为nt,linux或unix的标识符则为posix
  5. sep:
    获取当前系统分隔符:windows为\,linux或unix为/
  6. linsep:
    获取当前系统的换行符:windows为\r\n,linux或unix为\n

关于os中子模块path:

  1. abspath(要转换的路径):
    absolute path将相对路径转换为绝对路径
  2. basename(路径):
    返回该路径的主体
  3. dirname(路径):
    返回该路径的路径
  4. join(绝对路径或相对路径,部分路径):
    将两个路径何为一个路径
  5. spilt(路径):
    直接将该路径拆分为一个主体和路径,并返回元组
  6. splitext(路径):
    将该路径拆分为文件后缀与其他部分,并返回元组,常用于求取文件的后缀
  7. getsize(路径):
    将该路径的实际存在的一个文件的大小进行返回,单位为字节
  8. isdir(路径):
    检测是否为一个文件夹,返回bool类型变量
  9. isfile(路径):
    检测是否为一个文件,返回bool类型变量
  10. islink(路径):
    检测是否为一个链接,返回bool类型变量
  11. exists(路径):
    检测该文件是否存在,返回bool类型变量
  12. isabs(路径):
    检测是否为绝对路径,返回bool类型变量
  13. samefile(路径,路径):
    检测两个路径是否指向同一文件或文件夹,返回bool类型变量

和时间有关的方法:

  1. getctime(路径):
    get create time获取文件或文件夹创建时间
  2. getmtime(路径):
    get modify time获取文件或文件夹修改时间
  3. getatime(路径):
    get active time获取文件或文件夹访问时间

     

利用OS模块实现对一个文件夹的大小计算:

使用递归,先判断输入路径是否为文件夹,若为文件夹则将目录返回为一列表,并通过字符串相加方式得到目录内部各个文件或文件夹的绝对路径,进入递归。递归的限制条件便为输入路径不是文件夹

def searchfilesize(path):
    sumsize=0
    #进行判断path是否为文件夹
    if os.path.isdir(path):
        filelist=os.listdir(path)
        print(filelist)
        for file in filelist:
            fpath=path+'\\'+file
            sumsize += searchfilesize(fpath)
    elif os.path.isfile(path):
        sumsize += os.path.getsize(path)
    return sumsize
    pass

print(searchfilesize('D:\\temp')/1024,'MB')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值