import os     //os模块基本实现了linux系统中所有的命令

os.system('终端命令'):在终端执行命令

os.getcwd():获取当前的工作路径

os.chdir():修改工作路径

os.chmod():修改权限

os.chown():修改属主属组

os.mkdir():创建单个目录,当目录存在时报异常,相当linux中的mkdir

os.makedirs():递归创建目录,当目录存在时报异常,相当于linux中的mkdir -p

    exist_ok=True:当目录存在时不报异常

    mode=0o777   :创建目录时同时设置权限,0o表示八进制,0x表示十六进制

os.rmdir():删除单个空目录,此目录下不能有任何文件

os.removedirs():递归删除空目录,当目录中有文件时删除会报错

os.remove():删除单个文件

os.listdir():列出当前目录下的所有文件及目录,以列表的形式返回;不会进行递归

os.scandir():返回一个生成器,可以通过迭代的方式显示

    例:aa=os.scandir()

    aa.is_dir():判断返回是否为目录

    aa.name:获取返回文件或目录的名字

    aa.path:获取文件或目录的路径

os.walk():以迭代的方式返回当前目录或者指定目录下的所有文件和目录;返回3个参数  

    for root,dirs,files in os.walk('/tmp/liuwei'):

        print(root)

        print(files)

        print(files) 

    root:读取到的目录

    dirs:表示当前目录下有哪些目录

    files:表示当前目录下有哪些文件

路径相关的操作:

os.path.basename:返回文件名

os.path.dirname:返回路径

os.path.join:把所有的路径进行拼接,可以接收多个参数

os.path.split:把dirname和basename分开,返回一个二元组

os.path.splitext:分离文件的扩展名,返回一个二元组;例test.txt,返回的为(‘test’,’.txt’) os.path.abspath:给出相对路径时,返回绝对路径

os.path.isdir:是否是目录

os.path.isfile:是否是文件

import shutil

shutil.move('src','dest'):对目录进行重命名或者移动,移动到当前目录下是重命名,到其它为移动

shutil.copyfile:仅复制数据

shutil.copymode:仅复制权限

shutil.copystat:复制stat info(atime,ctime,mtime)

shutil.copy():复制数据与权限

shutil.copy2():复制数据与stat info(包括权限,atime,ctime,mtime,flags等)

shutil.copytree():递归复制目录,相当于linux中的copy -r

    当复制的文件为链接文件时,会找到源文件进行复制,复制过去不是符号连接

    symlinks=True:当有链接文件时,复制过去也为链接文件