Python学习week7-OS模块与shutil模块

1、OS模块

# os模块主要功能:系统相关,目录及文件操作,执行命令和进程管理

1.1、系统相关

1.2、文件和目录操作

# os.getcwd()

# 获取当前工作路径

# os.chdir('dirname') 其中dirname为路径;

# 切换目录,相当于shell下的cd 命令

# os.makedirs('dir1/dir2')

# 生成多层递归目录

# os.removedirs('dir1')

# 递归删除空目录

# os.mkdir('dirname')

# 生成单级目录

# os.rmdir('dirname')

# 删除单级空目录,如果不为空则无法删除并报错

# os.listdir('dirname')

# 列出指定目录下的所有文件和子目录,包括隐藏文件;

# os.remove('filename')

# 删除一个文件

# os.rename('old','new)

# 重命名文件或者目录

# os.stat('path/filename')

# 获取文件或目录信息

# os.path.abspath(path)

# 获取绝对路径

# os.path.split(path)

# 将path分割成目录和文件名的元组返回

# os.walk(top,topdown=True,onerror=None,followlinks=False)

      # walk方法是os模块中最重要的一个方法,能以递归方式自顶向下的方式遍历目录树,对应每一个目录都返回一个三元元组(dirpath,dirnames,filenames)
    # dirpath: 遍历所在目录树中的位置,是一个字符串对象;
   # dirnames: 目录树中的子目录组成的列表,不包括(.和..)
   # filenames: 目录树中的文件组成的列表;

2、sys模块

# sys.argv是一个脚本执行参数列表,列表的第一个元素是脚本名称,从第二个元素开始才是真正的参数;

# sys.path

# path是一个目录列表,提供python从中查找模块;在python启动时,sys.path根据内建规则和PYTHONPATH变量进行初始化,sys.path的第一个元素通常是一个空字符,表示当前目录;

# 本质上sys.path是一个列表,可以进行append,insert,pop,remove等操作;
# sys.stdin、sys.stout、sys.sterr
# 这三个属性就是操作系统的标准输入、输出和错误流、它们返回的都是一个“文件类型”对象,支持read()、write()、和flush()操作;

3、shutil模块

# shutil可以简单的理解为 sh+util,shell工具的意思;shutil模块是对os模块的补充;主要针对文件的拷贝,删除,移动,压缩和解压缩;

# shutil.copyfileobj(fsrc,fdst,[,length=16*1024])
# copy文件内容到另一个文件,可以指定copy指定大小的内容;
# 注意fsrc和fdst都是使用open()方法打开的文件对象
import shutil # 导入模块
s=open('b.txt','r') # 以r模式打开源文件
d=open('ba.txt','w') # 以w模式打开目标文件
shutil.copyfileobj(s,d) # 执行拷贝,将源文件内容拷贝到目标文件
# shutil.copyfile(src,dst)
# 拷贝整个文件;注意:copyfile底层实际调用的是copyfileobj()进行的拷贝;
# shutil.copymode(src,dst)
# 仅拷贝权限;内容,组,用户均不变;
# shutil.move(src,dst)
# 递归地移动文件,类似于mv命令,其实就是重命名;
# shutil.unpack_archive(filename[,extract_dir[,format]])
# (1)filename是压缩文档的完整路径;
# (2)extract_dir是解压缩路径,默认为当前目录;
# (3)format是压缩格式,默认使用文件后缀名代码的压缩格式;
原文地址:https://www.cnblogs.com/soulgou123/p/9826144.html