os shutil 模块
OS --- 操作系统接口
os.system(command) # 在python中执行系统指令
os.popen(command[, mode[, bufsize]]) #os.popen() 方法用于从一个命令打开一个管道
参数
command -- 使用的命令。
mode -- 模式权限可以是 'r'(默认) 或 'w'。
bufsize -- 指明了文件需要的缓冲大小:
0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。
负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;
对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。
返回值
返回一个文件描述符号为fd的打开的文件对象
print(os.popen('ifconfig').read())
os.listdir(path='.')
# 返回一个包含由 path 指定目录中条目名称组成的列表
os.getcwd() # 获取当前文件夹所在的绝对路径
__file__ 获取当前运行文件的绝对路径
os.chdir() # 修改当前文件工作的默认路径
os.environ # 获取或修改环境变量
# 通过直接修改 os.environ 之外,在此之后对环境所做的更改不会反映在 os.environ 中
os.environ['PATH'] += '想添加的环境变量的路径'
#----------os属性----------
os.name #获取系统标识 linux,mac -> posix windows -> nt
os.sep #获取路径分割符号 linux,mac -> / windows -> \
os.linesep#获取系统的换行符 linux,mac -> \n windows -> \r\r 或 \n
OS shutil---对文件的操作
# -- os模块具有 新建删除文件
os.mknod() # 创建文件
os.remove() # 删除文件
os.mkdir() # 创建目录(文件夹)
os.rmdir() # 删除目录
os.rename() # 对文件,目录重命名
os.makedirs() # 递归创建文件
os.removedisr() # 递归删除文件
# shutil模块 复制/移动
#
shutil.copyfileobj(fsrc, fdst[, length]) # 复制文件
整数值 length 如果给出则为缓冲区大小。
特别地, length 为负值表示拷贝数据时不对源数据进行分块循环处理;
默认情况下会分块读取数据以避免不受控制的内存消耗。
请注意如果 fsrc 对象的当前文件位置不为 0,则只有从当前文件位置到文件末尾的内容会被拷贝
shutil.copyfile(src, dst) # 仅复制文件内容
shutil.copymode(src, dst) # 仅复制文件权限
shutil.copystat(src, dst) # 复制所有状态信息,包括权限,组,用户,修改时间等
shutil.copy(src, dst) # 复制文件权限和内容
shutil.copy2(src, dst) # 复制文件权限和内容,包括组,用户,时间等
shutil.copytree(src, dst) # 拷贝文件夹所有内容(递归拷贝)
shutil.retree(path) # 删除当前文件夹及其中的内容(递归删除)
shutil.move(path1, path2) # 移动文件或文件夹
OS --- 路径模块 os.path
os.path.basename(path) # 返回路径 path 的基本名称
>>> os.path.basename('/foo/bar')
'bar'
>>> os.path.basename('/foo/bar/a.txt')
'a.txt'
os.path.dirname(path) # 返回路径 path 的目录名称
os.path.split(path)
# 将路径 path 拆分为一对,即 (head, tail),
# 其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容
os.path.join(path, *paths) # 把目录和文件名合成一个路径
os.path.splitext(path) # 分割路径中的文件名与拓展名
os.path.getsize(path) # 返回文件大小,如果文件不存在就返回错误
os.path.isdir(path) # 判断路径是否为目录
os.path.isfile(path) # 判断路径是否为文件
os.path.islink(path) # 判断路径是否为链接
os.path.getctime(path) # 返回文件 path 创建时间
os.path.getmtime(path) # 返回最近文件修改时间
os.path.getatime(path) # 返回最近访问时间(浮点型秒数)
os.path.exists(path) # 路径存在则返回True,路径损坏返回False
os.path.isabs(path) # 判断是否为绝对路径
os.path.abspath(path) # 返回绝对路径
os shutil 模块的更多相关文章
- python中的os,shutil模块的定义以及用法
# os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Uni ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- (汇总)os模块以及shutil模块对文件的操作
''' # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux ...
- Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块
StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...
- shutil模块和os模块对比
一.shutil -- 是一种高层次的文件操作工具类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好. 1.shutil.copy(src,dst)复制一个文件到另一个目录下 ...
- os模块、os.path模块、shutil模块、configparser模块、subprocess模块
一.os模块 os指的是操作系统 该模块主要用于处理与操作系统相关的操作,常用的是文件操作(读.写.删.复制.重命名). os.getcwd() 获取当前文件所在的文件夹路径 os.chdir() ...
- Python常用模块os & sys & shutil模块
OS模块 import os ''' os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录: ...
- os模块和shutil模块
# coding=utf-8 import os path="D:\\test" ######### 目录结构如下 # test # / \ \ \ # test01 test02 ...
随机推荐
- Spring Data Solr
1.什么是spring data solr? Solr是一个开源搜索平台,用于构建搜索应用程序.简单的来说就是作为一个搜索引擎使用. 2.solr的安装(本地安装,远程安装同) 1)解压一个tomca ...
- 搭载华为麒麟9000的Mate X2:秒售罄,一机难求
本文首发 | 公众号:lunvey 昨日10点,搭载了麒麟9000芯片的华为Mate X2正式开售,定价17999,对于手机来说,价格实在是高昂. 虽然价格高昂,但是一分钱一分货,对于想抢先体验的网友 ...
- Vue.js 多选列表(Multi-Select)组件
搬运公众号早前文章 多选列表 (Multi-Select) 是一种将所有选项列出,并允许用户利用 Ctrl/Shift 键进行多选的 UI 元素.这是一种常见的设计元素.有时候为了节省空间,我们会将选 ...
- SpringBoot利用spring.profiles.active=@spring.active@不同环境下灵活切换配置文件
一.创建配置文件 配置文件结构:这里建三个配置文件,application.yml作为主配置文件配置所有共同的配置:-dev和-local分别配置两种环境下的不同配置内容,如数据库地址等. appli ...
- Python3.x 基础练习题100例(81-90)
练习81: 题目: 809??=800??+9?? 其中??代表的两位数, 809??为四位数,8??的结果为两位数,9??的结果为3位数.求??代表的两位数,及809*??后的结果. 程序: a = ...
- docker搭建redis集群和Sentinel,实现故障转移
0.引言 公司开发需要用到redis,虽然有运维自动搭建,还是记录下如何搭建redis集群和Sentinel. 采用的是vagrant虚拟机+docker的方式进行搭建. 搭建思路: 首先是借鉴下其他 ...
- FreeBSD 包管理器设计简介
熟悉 Linux 的人也许会发现,FreeBSD 的包管理方案实际上大约等于以下两大 Linux 发行版包管理器的完美合体: Arch: pacman,对应 pkg(秉承同样的 KISS 理念) Ge ...
- ArrayList 、Vector 和 LinkedList 有什么区别?
ArrayList.Vector .LinkedList 类均在java.util 包中,均为可伸缩数组,即可以动态改变长度的数组. ArrayList 和 Vector 都是基于存储元素的 Obje ...
- P2261 [CQOI2007]余数求和 【整除分块】
一.题面 P2261 [CQOI2007]余数求和 二.分析 参考文章:click here 对于整除分块,最重要的是弄清楚怎样求的分得的每个块的范围. 假设$ n = 10 ,k = 5 $ $$ ...
- 09、集合set
集合(set) 集合是一个无序.可变.不允许数据重复的容器 s = {11,22,33,'ccc'} 无序,无法通过索引取值 可变,可以添加和删除元素 s = {11,22,33,44} s.add( ...