python模块--os&sys&shutil

shutil

高级的 文件、文件夹、压缩包 处理模块

shutil.copyfileobj(fsrc, fdst[, length])
将文件内容拷贝到另一个文件中,可以部分内容

 

shutil.copyfile(src, dst)
拷贝文件

 

shutil.copymode(src, dst)
仅拷贝权限。内容、组、用户均不变

 

shutil.copystat(src, dst)
拷贝状态的信息,包括:mode bits, atime, mtime, flags

 

shutil.copy(src, dst)
拷贝文件和权限

 

shutil.copy2(src, dst)
拷贝文件和状态信息

 

shutil.ignore_patterns(*patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件

例如:copytree(source, destination, ignore=ignore_patterns(‘*.pyc‘, ‘tmp*‘))

 

shutil.rmtree(path[, ignore_errors[, onerror]])
递归的去删除文件

 

shutil.move(src, dst)
递归的去移动文件

 

shutil.make_archive(base_name, format,...)

创建压缩包并返回文件路径,例如:zip、tar

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
    如:www                        =>保存至当前路径
    如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
  • root_dir: 要压缩的文件夹路径(默认当前目录)
  • owner: 用户,默认当前用户
  • group: 组,默认当前组
  • logger: 用于记录日志,通常是logging.Logger对象

1

2

3

4

5

6

7

8

9

#将 /Users/wupeiqi/Downloads/test 下的文件打包放置当前程序目录

import shutil

ret = shutil.make_archive("wwwwwwwwww"‘gztar‘, root_dir=‘/Users/wupeiqi/Downloads/test‘)

###wwwwwwww是压缩后的文件名, gztar 是压缩后的文件后缀为*.tar.gz

###目录名在windows下的写法需要转义。例如OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: ‘e:\test\readmetest‘

###同时在pycharm中会在:后的第一个字母有突出提示

#将 /Users/wupeiqi/Downloads/test 下的文件打包放置 /Users/wupeiqi/目录

import shutil

ret = shutil.make_archive("/Users/wupeiqi/wwwwwwwwww"‘gztar‘, root_dir=‘/Users/wupeiqi/Downloads/test‘)

###/Users/wupeiqi/wwwwwwwww 路径如果不存在,会自动新建

 

shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的,详细:

 zipfile 压缩解压

 tarfile 压缩解压

 ZipFile

 TarFile

时间: 2024-10-13 09:32:57

python模块--os&sys&shutil的相关文章

python模块 os&sys&subprocess&hashlib模块

os模块 # os模块可根据带不带path分为两类 # 不带path print(os.getcwd()) # 得到当前工作目录 print(os.name) # 指定你正在使用的操作系统,windows为nt,linux为“posix" os.shell() # 运行shell命令 print(os.environ) # 返回操作系统所有的环境变量 print(os.getenv("home")) # 读取指定环境变量的值 os.environ.setdefault(&qu

8.模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式

本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.p

python 关于操作文件的相关模块(os,sys,shutil,subprocess,configparser)

一:os模块 os模块提供了许多允许你程序与操作系统直接交互的功能 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录

Python中os和shutil模块实用方法集锦

# os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\'os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径os.getenv() 获取一个环境变量,如果没有返回noneos.putenv(key, value) 设置一个环境变量值os.listdir(path) 返回指定目录下的所有文件和目录名o

python模块-os模块和sys模块

os模块 os.getcwd()  获取当前的工作目录 os.chdir('绝对路径/相对于当前工作目录的路径')  改变工作目录,相当于shell的cd命令,例如Windows平台下os.chdir('D:\PythonScripts\\test\c'),项目那一层的目录必须用双斜线分割,其他层级的双斜线和单斜线都可,在linux和unix平台下用/分割 os.curdir  返回当前路径. os.pardir  返回当前路径的上一层路径,即.. os.mkdir('dir')  生成单级目录

6 - 常用模块(os,sys,time&datetime,random,json&picle,shelve,hashlib)

导入模块 想使用 Python 源文件,只需在另一个源文件里执行 import 语句 import module1[, module2[,... moduleN] from语句让你从模块中导入一个指定的部分到当前命名空间中 from modname import name1[, name2[, ... nameN]] 内置的函数 dir() 可以找到模块内定义的所有名称.以一个字符串列表的形式返回 >>> import sys >>> dir(sys) ['__disp

python模块—OS

OS模块也是我们平时工作中很常用到的一个模块,通过os模块调用系统命令,获得路劲,获取操作系统的类型等都是使用该模块. 1.获取系统类型 例子: >>> import os >>> print(os.name) posix 2.执行系统命令 例子1: >>> import os >>> os.system("ifconfig") ens33: flags=4163<UP,BROADCAST,RUNNING,M

python 模块之-sys

python 模块 sys import sys sys.argv       # 参数,第一个参数是脚本的文件明,自定义参数为数组的第二个   sys.argv[1] sys.version   #  python的版本 sys.path     # 返回模块路径 sys.exit(n)  # 退出程序,返回n sys.platform   #返回系统的名称 sys.stdout.write(r'please')   # 系统标准输出 原文地址:https://www.cnblogs.com/

python模块中sys.argv[]使用

「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List列表,argv[0] 一般是“被调用的脚本文件名或全路径”,这个与操作系统有关,argv[1]和以后就是传入的系统命令参数. 其实是一个从程序外部获取参数的入口,这个“外部”很关键,一般我们在命令行中运行.因为我们从外部输入的参数可以是多个,也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给