python-标准库os模块的使用
1. 标准库os
- os库主要对目标和文件操作。
方法 | 描述 |
os.name | 返回操作系统类型 |
os.environ | 以字典形式返回系统变量 |
os.putenv(key, value) | 改变或添加环境变量 |
os.listdir(path=’.’) | 列表形式列出目录下所有目录和文件名 |
os.getcwd() | 获取当前路径 |
os.chdir(path) | 改变当前工作目录到指定目录 |
os.mkdir(path [, mode=0777]) | 创建目录 |
os.makedirs(path [, mode=0777]) | 递归创建目录 |
os.rmdir(path) | 移除空目录,不能删除有文件的目录 |
os.remove(path) | 移除文件 |
os.rename(old, new) | 重命名文件或目录 |
os.stat(path) | 获取文件或目录属性 |
os.chown(path, uid, gid) | 改变文件或目录所有者 |
os.chmod(path, mode) | 改变文件访问权限 |
os.symlink(src, dst) | 创建软链接 |
os.unlink(path) | 移除软链接 |
os.getuid() | 返回当前进程UID |
os.getlogin() | 返回登录用户名 |
os.getpid() | 返回当前进程ID |
os.kill(pid, sig) | 返回当前进程ID |
os.kill(pid, sig) | 发送一个信号给进程 |
os.walk(path) | 目录树生成器,生成一个三组(dirpath,dirnames,filenames) |
os.system(command) | 执行shell命令,不能存储结果 |
os.popen(command [, mode='r' [, bufsize]]) | 打开管道来自shell命令,并返回一个文件对象 |
- os.path类用于获取文件属性
方法 | 描述 |
os.path.basename(path) | 返回最后一个文件或目录名 |
os.path.dirname(path) | 返回最后一个文件所属目录 |
os.path.abspath(path) | 返回一个绝对路径 |
os.path.exists(path) | 判断路径是否存在,返回布尔值 |
os.path.isdir(path) | 判断是否是目录 |
os.path.isfile(path) | 判断是否是文件 |
os.path.islink(path) | 判断是否是链接 |
os.path.ismount(path) | 判断是否挂载 |
os.path.getatime(filename) | 返回文件访问时间戳 |
os.path.getctime(filename) | 返回文件变化时间戳 |
os.path.getmtime(filename) | 返回文件修改时间戳 |
os.path.getsize(filename) | 返回文件大小,单位字节 |
os.path.join(a, *p) | 加入两个或两个以上路径,以正斜杠"/"分隔。常用于拼接路径 |
os.path.split() | 分隔路径名 |
os.path.splitext() | 分隔扩展名 |
2. 案例
- 案例1、os基本使用对目标和文件操作
#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# Author:shichao
# File: .py
import os
# 返回操作系统类型
print(os.name)
# 以字典形式返回系统变量
print(os.environ)
#列表形式列出目录下所有目录和文件名
print(os.listdir("/tmp"))
# 获取当前路径
print(os.getcwd())
# 切换到其他目录
os.chdir('/tmp')
print(os.getcwd())
# 创建目录
os.mkdir("test")
print(os.listdir())
# # 创建递归目录
# os.makedirs("a/b/c")
# print(os.listdir())
# 删除目录
os.rmdir("test")
print(os.listdir())
# 重命名文件或目录
os.mkdir("testdir")
print(os.listdir())
os.rename("testdir","test")
print(os.listdir())
# 获取文件或目录属性
print(os.stat("test"))
# 改变文件或目录所有者
os.chown("test",1000,1000) # 返回用户的uid 和gid 数字
# 创建软链接
os.symlink("test","t1")
# 移除软链接
os.unlink("t1")
# 删除目录
os.rmdir("test")
# 返回当前进程UID
print(os.getuid())
# 返回登录用户名
print(os.getlogin())
# 返回当前进程ID
print(os.getpid())
- 案例2、获取文件属性
#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# Author:shichao
# File: .py
import os
# 返回最后一个文件或目录名
print(os.path.basename("/tmp/test")) # 返回一个目录路径下最后一个的,文件名或目录名
# 返回最后一个文件所属目录 # 返回一个目录路径
print(os.path.dirname("/tmp/b/a.txt"))
# 切换到其他目录
os.chdir('/tmp')
print(os.getcwd())
# 判断路径是否存在,返回布尔值
print(os.path.exists("/tmps"))
if os.path.exists("/tmp") == True :
print("目录路径存在")
else:
print("目录路径不存在")
- os.path类用于获取文件属性**
#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# Author:shichao
# File: .py
import os
# 判断是否是目录
print(os.path.isdir("test"))
# 判断是否是文件
print(os.path.isdir("a.txt"))
# 返回文件访问时间戳
print(os.path.getatime("a.txt"))
# 拼接路径
print(os.path.join("/tmp","a.txt")) # 返回结果就是/tmp/a.txt
# 分隔路径
print(os.path.split("/tmp/a.txt")) # 返回结果是一个元组两个元素,('/tmp', 'a.txt')
# 分隔后缀
print(os.path.splitext("a.txt")) # 返回结果是一个元组两个元素,('a', '.txt')