美文网首页
os模块 shutil模块

os模块 shutil模块

作者: 狗狗胖妞 | 来源:发表于2017-03-27 23:44 被阅读35次

    os模块

    os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',对于Linux/Unix用户,它是 'posix'
    os.sep 路径分隔符
    os.linesep 换行符
    os.curdir 返回当前目录 ('.')
    os.remove(path) 用来删除一个文件
    os.getcwd() 得到当前工作所在路径

    os.chdir("C:\\users")
    print(os.getcwd())
    #打印:C:\users
    

    os.listdir(path)
    os.makedirs(path)
    os.chdir(path)
    os.system(command) 运行shell命令

    os.path

    os.path.exists() 是否存在
    os.path.isfile() 和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
    os.path.getsize(name) 获得文件大小,如果name是目录返回0L
    os.path.splitext() 分离文件名与扩展名

    os.path.split(path) 分割
    os.path.abspath(name) 获得绝对路径=1+2
    os.path.dirname(path) 返回文件路径 1
    os.path.basename(path) 返回文件名 2

    import os,sys
    print(os.path.abspath(__file__))  #打印绝对路径
    BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    sys.path.append(BASE_DIR)  #添加环境变量
    

    os.path.join(path,name) 连接目录与文件名或目录

    shutil模块

    shutil模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。对单个文件的操作也可参见os模块。

    import shutil
    shutil.copyfile("tt.txt","11.txt")   #拷贝文件
    shutil.copy("test.txt","11.txt")     #拷贝文件和权限
    shutil.copymode("tt.txt","11.txt")   #仅拷贝权限
    shutil.copy2( "src", "dst")      #在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
    shutil.move("test.txt","tt.txt")     #移动文件或重命名
    
    shutil.copytree( "olddir", "newdir", True/Flase)  #把olddir拷贝一份newdir,如果第3个参数是True,则复制
    目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
    shutil.rmtree( "src" )       #递归删除一个目录以及目录内的所有内容
    

    打包压缩

    shutil.make_archive(base_name,format,...)
    创建压缩包并返回文件路径

    • base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
      如:www =>保存至当前路径
      如:/Users/wupeiqi/www =>保存至/Users/wupeiqi下
    • format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”
    • root_dir: 要压缩的文件夹路径(默认当前目录)
    • owner: 用户,默认当前用户
    • group: 组,默认当前组
    • logger: 用于记录日志,通常是logging.Logger对象
    ret = shutil.make_archive("backup","tar",root_dir="/home/www/") #将/home/www目录下的文件进行备份,生成backup.tar的文件,其中tar为后缀,www为文件名
    

    相关文章

      网友评论

          本文标题:os模块 shutil模块

          本文链接:https://www.haomeiwen.com/subject/qxqdottx.html