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