zoukankan      html  css  js  c++  java
  • (汇总)os模块以及shutil模块对文件的操作

    '''
    # os 模块
    os.sep 可以取代操作系统特定的路径分隔符。windows下为 '\'
    os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'
    os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径
    os.getenv() 获取一个环境变量,如果没有返回none
    os.putenv(key, value) 设置一个环境变量值
    os.listdir(path) 返回指定目录下的所有文件和目录名
    os.remove(path) 函数用来删除一个文件
    os.system(command) 函数用来运行shell命令
    os.linesep 字符串给出当前平台使用的行终止符。例如,Windows使用 '
    ',Linux使用 '
    ' 而Mac使用 '
    '
    os.path.split(path)  函数返回一个路径的目录名和文件名
    os.path.isfile() 和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
    os.path.exists() 函数用来检验给出的路径是否真地存在
    os.curdir  返回当前目录 ('.')
    os.mkdir(path) 创建一个目录
    os.makedirs(path) 递归的创建目录
    os.chdir(dirname) 改变工作目录到dirname    
    os.path.getsize(name) 获得文件大小,如果name是目录返回0L
    os.path.abspath(name) 获得绝对路径
    os.path.normpath(path) 规范path字符串形式
    os.path.splitext()  分离文件名与扩展名
    os.path.join(path,name) 连接目录与文件名或目录
    os.path.basename(path) 返回文件名
    os.path.dirname(path) 返回文件路径
    os.walk(top,topdown=True,onerror=None)  遍历迭代目录
    os.rename(src, dst)  重命名file或者directory src到dst 如果dst是一个存在的directory, 将抛出OSError. 在Unix, 如果dst在存且是一个file, 如果用户有权限的话,它将被安静的替换. 操作将会失败在某些Unix 中如果src和dst在不同的文件系统中. 如果成功, 这命名操作将会是一个原子操作 (这是POSIX 需要). 在 Windows上, 如果dst已经存在, 将抛出OSError,即使它是一个文件. 在unix,Windows中有效。
    os.renames(old, new) 递归重命名文件夹或者文件。像rename()
    
    # shutil 模块
    shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
    shutil.move( src, dst)  移动文件或重命名
    shutil.copymode( src, dst) 只是会复制其权限其他的东西是不会被复制的
    shutil.copystat( src, dst) 复制权限、最后访问时间、最后修改时间
    shutil.copy( src, dst)  复制一个文件到一个文件或一个目录
    shutil.copy2( src, dst)  在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
    shutil.copy2( src, dst)  如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
    shutil.copytree( olddir, newdir, True/Flase)
    把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
    shutil.rmtree( src ) 递归删除一个目录以及目录内的所有内容
    '''
    
    
    import os
    
    # 路径:相对路径(以当前位置出发)和绝对路径(以盘符出发路径)
    #getcwd() 查看路径
    file_path = os.getcwd()
    print(file_path)
    
    # listdir() -- 查看某个路径下的所有文件 -- 返回一个列表  	est  	
    list1 = os.listdir('./')
    print(list1)
    
    # os.mkdir('aaa')
    # aaabbccc
    # os.makedirs(r'aaabbccc')
    
    # os.rmdir(r'aaabbccc')
    # os.removedirs(r'aaa')
    # os.removedirs(r'aaabbccc')
    # os.remove(r'aaabbcccas.py')
    # 递归删除目录树
    # import shutil
    # shutil.rmtree(r'aaa')
    
    # 重命名 rename(文件名,改成什么名字)
    # os.rename('00-复习.py','000-复习.py')
    
    # 删除文件1.txt
    # os.remove('1.txt')
    

      

                                                                       -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

  • 相关阅读:
    即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务
    【玩转MLS系列】基础教程
    【云速建站】微信公众平台中维护IP白名单
    基于华为云对话机器人技能平台的规则模板概述
    云享专家倪升武:微服务架构盛行的时代,你需要了解点 Spring Boot
    Python一秒搭建ftp服务器,帮助你在局域网共享文件
    华为担纲建设基础软硬件国家新一代AI开放创新平台
    基于华为云区块链服务快速部署和搭建链上应用
    protobuf代码生成
    python的str()和repr()的区别
  • 原文地址:https://www.cnblogs.com/wf-skylark/p/9008918.html
Copyright © 2011-2022 走看看