当前位置: 首页 > news >正文

(汇总)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使用 '\r\n',Linux使用 '\n' 而Mac使用 '\r'
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,οnerrοr=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() -- 查看某个路径下的所有文件 -- 返回一个列表  \test  \t
list1 = os.listdir('./')
print(list1)

# os.mkdir('aaa')
# aaa\bbb\ccc
# os.makedirs(r'aaa\bbb\ccc')

# os.rmdir(r'aaa\bbb\ccc')
# os.removedirs(r'aaa')
# os.removedirs(r'aaa\bbb\ccc')
# os.remove(r'aaa\bbb\ccc\as.py')
# 递归删除目录树
# import shutil
# shutil.rmtree(r'aaa')

# 重命名 rename(文件名,改成什么名字)
# os.rename('00-复习.py','000-复习.py')

# 删除文件1.txt
# os.remove('1.txt')

  

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

相关文章:

  • windows2008搭建FTP限制上传文件大小
  • 「转载」用户使用分享_开源PaaS Rainbond
  • 京东架构师-----解析Hystrix线程隔离技术
  • spring整合kaptcha验证码
  • 线程池参数的意义
  • 顶部BANNER
  • 管理使用Greenplum集群
  • 创建自己的网站博客--Hexo
  • SAP云平台里Global Account和Sub Account的关系
  • 无服务器化是企业 IT 架构的未来吗?
  • Fiddler证书安装(查看HTTPS)
  • 算法之广度优先搜索
  • 常用的集成学习方法
  • SpringMVC-异常处理器
  • IDEA安装Go,创建Go项目
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [译] React v16.8: 含有Hooks的版本
  • CODING 缺陷管理功能正式开始公测
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Node项目之评分系统(二)- 数据库设计
  • PAT A1050
  • rabbitmq延迟消息示例
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 离散点最小(凸)包围边界查找
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 王永庆:技术创新改变教育未来
  • 物联网链路协议
  • 移动端解决方案学习记录
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • # 计算机视觉入门
  • # 数据结构
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (C语言)二分查找 超详细
  • (Oracle)SQL优化技巧(一):分页查询
  • (pytorch进阶之路)扩散概率模型
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (过滤器)Filter和(监听器)listener
  • (理论篇)httpmoudle和httphandler一览
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (十六)串口UART
  • (未解决)macOS matplotlib 中文是方框
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .htaccess配置常用技巧
  • .NET Core中的去虚
  • .net操作Excel出错解决
  • .Net中的集合
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [20190113]四校联考