os模块 shutil模块

os模块

os.name 字符串指示你正在使用的平台。比如对于Windows,它是'nt',对于Linux/Unix用户,它是 'posix'
os.sep 路径分隔符
os.linesep 换行符
os.curdir 返回当前目录 ('.')
os.remove(path) 用来删除一个文件
os.getcwd() 得到当前工作所在路径

os.chdir("C:\\users")
print(os.getcwd())
#打印:C:\users

os.listdir(path)
os.makedirs(path)
os.chdir(path)
os.system(command) 运行shell命令

os.path

os.path.exists() 是否存在
os.path.isfile() 和os.path.isdir()函数分别检验给出的路径是一个文件还是目录
os.path.getsize(name) 获得文件大小,如果name是目录返回0L
os.path.splitext() 分离文件名与扩展名

os.path.split(path) 分割
os.path.abspath(name) 获得绝对路径=1+2
os.path.dirname(path) 返回文件路径 1
os.path.basename(path) 返回文件名 2

import os,sys
print(os.path.abspath(__file__))  #打印绝对路径
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)  #添加环境变量

os.path.join(path,name) 连接目录与文件名或目录

shutil模块

shutil模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。对单个文件的操作也可参见os模块。

import shutil
shutil.copyfile("tt.txt","11.txt")   #拷贝文件
shutil.copy("test.txt","11.txt")     #拷贝文件和权限
shutil.copymode("tt.txt","11.txt")   #仅拷贝权限
shutil.copy2( "src", "dst")      #在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
shutil.move("test.txt","tt.txt")     #移动文件或重命名

shutil.copytree( "olddir", "newdir", True/Flase)  #把olddir拷贝一份newdir,如果第3个参数是True,则复制
目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.rmtree( "src" )       #递归删除一个目录以及目录内的所有内容

打包压缩

shutil.make_archive(base_name,format,...)
创建压缩包并返回文件路径

  • base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
    如:www =>保存至当前路径
    如:/Users/wupeiqi/www =>保存至/Users/wupeiqi下
  • format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对象
ret = shutil.make_archive("backup","tar",root_dir="/home/www/") #将/home/www目录下的文件进行备份,生成backup.tar的文件,其中tar为后缀,www为文件名

你可能感兴趣的:(os模块 shutil模块)