os, sys, stat 模块使用
1、设置文件权限:
注意:设置权限之前要导入下面三个模块,否则报错,
import os, sys, stat
os.chmod("/home/a.txt", stat.S_IXGRP) 更改path的权限。mode可以是以下值(使用or)的组合:
os.S_ISUID
os.S_ISGID
os.S_ENFMT
os.S_ISVTX
os.S_IREAD
os.S_IWRITE
os.S_IEXEC
os.S_IRWXU
os.S_IRUSR
os.S_IWUSR
os.S_IXUSR
os.S_IRWXG
os.S_IRGRP
os.S_IWGRP
os.S_IXGRP
os.S_IRWXO
os.S_IROTH
os.S_IWOTH
os.S_IXOTH
R代表读,W代表写,X代表执行权限。USR代表用户,GRP代表组,OTH代表其它
实例:
In [5]: import os, sys, stat
In [6]: os.chmod("/home/a.txt", stat.S_IXGRP)
2、环境变量操作:
os.environ['环境变量名称']='环境变量值' 设置环境变量
实例:
os.environ["user"]="jenkins"
os.environ["user"]
'jenkins'
os.path.expanduser(path) 把path中包含的”~”和”~user”转换成用户目录
实例
os.path.expanduser("~")
'/home/mysql'
os.path.expandvars(path) 根据环境变量的值替换path中包含的”$name”和”${name}”
实例
os.environ["user"]="jenkins"
os.path.expandvars("$user/mysql")
'jenkins/mysql'
3、文件夹操作:
os.path.ismount(path) 判断path所指向的是否是一个挂接点
os.getcwd() 获得当前目录
os.listdir() 获得当前目录下所有文件和文件夹
os.path.isfile("/rubbish/my.cnf") 判断给出的目录是不是一个文件
os.path.isdir("/rubbish/") 判断给出的路径是不是一个文件夹
os.path.isabs("/rubbish/") 判断给出的路径是不是一个绝对路径
os.path.abspath("/home/") 把path转换成绝对路径
os.path.exists("/rubbish/") 判断给出的路径是否存在文件夹
os.path.exists("/rubbish/my.cnf") 判断给出的路径是否存在文件
os.path.split("/rubbish/my.cnf") 把路径下的文件夹和路径下的文件分离开
os.path.splitext("/rubbish/my.cnf") 分离扩展名,以 " . " 为分界线
os.path.dirname("/rubbish/my.cnf") 只获取目录名
os.path.basename("/rubbish/my.cnf") 只获取文件名
os.mkdir("/home/ceshi",stat.S_IXGRP) 创建目录。mode的意义参见os.chmod(),默认是0777
os.makedirs("/test/test1",stat.S_IXGRP) 创建父目录和子目录
os.mknod("/home/a.txt") 创建空文件
os.remove("/rubbish/a.file") 删除文件,不能用于删除目录
os.rmdir("/rubbish/test/") 删除文件夹,不能用于删除文件,这个实例只删除了test文件夹
os.removedirs("/rubbish/test/") 删除一个空目录,(只能删除空的)
shutil.rmtree("/rubbish/website/") 删除一个实目录,这个实例只是删除了website目录
os.chdir("/home") 把当前工作目录切换到home下
os.link(src,dst) 创建硬连接
os.stat("/rubbish/my.cnf") 获取文件属性
4、文件操作:
os.path.getsize(path) 返回path所指向的文件的大小
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间。
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
os.path.getctime(path) 返回path所指向的文件的创建时间
参照文档
http://www.cnblogs.com/tomato0906/articles/4605114.html
https://www.cnblogs.com/hushaojun/p/4533241.html
https://blog.csdn.net/u013247765/article/details/79050947
https://cloud.tencent.com/developer/news/257058
https://blog.csdn.net/stt12345678/article/details/79620471
os, sys, stat 模块使用的更多相关文章
- OS&SYS&Shuti模块
#sys.argv 主要针对脚本可以读取参数 Shuti模块 import shutil f1=open('笔记',encoding='utf-8') f2=open('笔记2','w',enco ...
- Python常用模块os & sys & shutil模块
OS模块 import os ''' os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录: ...
- Day14 Python基础之os/sys/hashlib模块(十二)
os模块 os.getcwd() #获取当前工作路径 os.chdir(‘dirname1/dirname2/dirname3’) #改变当前脚本的工作路径,相当于cmd下的cd os.makedi ...
- python time,random,os,sys,序列化模块
一.time模块 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳 ...
- time,random,os,sys,序列化模块
一.time模块 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳 ...
- 常用模块random,time,os,sys,序列化模块
一丶random模块 取随机数的模块 #导入random模块 import random #取随机小数: r = random.random() #取大于零且小于一之间的小数 print(r) #0. ...
- python之模块random,time,os,sys,序列化模块(json,pickle),collection
引入:什么是模块: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类型. 1.使用python编写的代码(.py ...
- python基础语法11 内置模块time,datatime,random,os,sys,hashlib模块
time模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. 2.格式化时间(Format Strin ...
- 2019-7-18 collections,time,random,os,sys,序列化模块(json和pickle)应用
一.collections模块 1.具名元组:namedtuple(生成可以使用名字来访问元素的tuple) 表示坐标点x为1 y为2的坐标 注意:第二个参数可以传可迭代对象,也可以传字符串,但是字 ...
随机推荐
- 模拟赛小结:2017 China Collegiate Programming Contest Final (CCPC-Final 2017)
比赛链接:传送门 前期大顺风,2:30金区中游.后期开题乏力,掉到银尾.4:59绝杀I,但罚时太高卡在银首. Problem A - Dogs and Cages 00:09:45 (+) Solve ...
- Java语言基础(1)
1 计算机语言发展的分类 1)机器语言:由0,1组成(二进制),可以在计算机底层直接识别并执行(唯一). 2)汇编语言:由助记符组成,比机器语言简单.当执行的时候,把汇编语言转换为机器语言(0101) ...
- hdu2159 二维02bag
设f[i][j]为杀第j只怪时耐久度为i的最大经验值 完全背包类型:有N种物品和一个容量为V 的背包,每种物品都有无限件可用.放入第i种物品的耗费的空间是Ci,得到的价值是Wi. 求解:将哪些物品装入 ...
- 谈谈对MVC的认识?
核心思想是:视图和用户交互通过事件导致控制器改变 控制器改变导致模型改变 或者控制器同时改变两者 模型改变 导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改变自己.他的好处是可以将界面和业务 ...
- 阿里云--安装nginx AND访问超时
首先先安装PCRE pcre-devel 和Zlib,因为配置nginx的时候会需要这两个东西PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 ...
- MySQL更新字段来自另一个表的count()值
假设有文章post和评论comment两个表,文章表记录有评论的数量,但是这个值我们要一次更新. 如下,现在post表的comment_count都是0,我们的目标是:执行一个SQL语句,让其把统计c ...
- solaris启动脚本S33installramdisk
脚本内容: state="$1" case "$state" in 'start') echo 'Starting install mr ramdisk' &g ...
- ssh转发流量的四种姿势
在很多时候拿到了内网的一台主机,我们需要用它做跳板来对内网进一步扩大战果. 也许方法很多,meterpreter,nc等等.但是最方便也最有可能穿透防火墙的方法,就是用ssh. 分为四种类型: 本地转 ...
- js 选中文字
选中文字,文字背景是蓝色 当前点击的元素: var e = e || event; var tag = e.target || e.srcElement; 选中文字:window.getSelecti ...
- 【SQL-自动生成编号】按规则自动生成单据编号 以及并发问题_使用触发器、函数 等
描述:每种单据新建时,自动生成它的单据编号. 规则如:固定码+日期+流水号 (ABC1603180001) 方法一:触发器 触发器的缺点是,执行了sql之后才看到编码. 测试:流水号不能超过最大数,否 ...