专栏首页python成长之路(汇总)os模块以及shutil模块对文件的操作

(汇总)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,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() -- 查看某个路径下的所有文件 -- 返回一个列表  \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')

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 文件批量重命名

    skylark
  • 循环中else的用法

    skylark
  • 读取除#开头的行的文件

    skylark
  • Python 标准库之 OS

    在昨天的文章(Python 标准库之 sys & copy)中,我们介绍了 Python 标准库中的 sys 和 copy,不知道你掌握了多少。今天我们来学习 ...

    Rocky0429
  • Python os.open() 方法

    但是上面代码在运行时出现了错误:TypeError: a bytes-like object is required, not 'str'

    桑鱼
  • python: os 库

    JNingWei
  • os模块及其API&属性

    所包含API列表:   os.uname: 获取详细的系统信息   os.rename: 文件重命名   os.remove: 删掉文件   os.mk...

    py3study
  • [Go] gocron源码阅读-判断是否使用root用户执行

    判断是linux系统,并且uid为0,allowRoot是通过命令行传参传进来的,通过flag包解析出来的,可以使用go run node.go -h看到这些参...

    陶士涵
  • [python]如何清屏?也就是实现cl

    由此也可见,想要执行任何一条系统命令,都只需要执行os.system( 'COMMAND' )就行了.

    py3study
  • Python 进程,获取进程id( o

    py3study

扫码关注云+社区

领取腾讯云代金券