Python的os模块常用属性及方法介绍
模块: os
该模块为python脚本调用各类操作系统(Unix, Mac OS, Dos。。。)接口提供了统一的封装,使脚本代码与平台无关化,增强了代码的可移植性。
属性
name:记录了当前操作系统的名称。Windows:nt
, Linux/Unix:posix
sep: 记录了路径分隔符, unix: '/', windows: '\'
expsep: 记录了文件名与文件扩展名的分隔符。
linesep: 记录了文本文件的行分隔符。unix: '\n', windows: '\r\n'
curdir:记录了当前工作目录
pardir:记录了当前工作目录的父目录
defpath: 记录了系统默认的查找路径。
在脚本中import os后,这些属性会自动保存运行脚本的操作系统上与之对应的操作符。通过os.xxx(比如os.sep)方式进行引用。
在编写python脚本时,使用这些属性,将会使代码与平台无关化,从而增强了脚本的可移植性。
比如:调用文件的write方法向文件写入数据时,不会自动给写入的内容加入换行符,如果我们想加入换行符,那么不要在字符还末尾加入'\n',而是加入'os.linesep'。
方法
函数名称 | 参数 | 功能 |
---|---|---|
chdir | path: | 改变工作目录到指定的目录 |
mkdir | path [, mode=0777] | 创建目录,只能创建一级目录。 |
rmdir | path | 删除指定的目录,不可以删除非空目录 |
makedirs | path [, mode=0777] | 创建目录,可以创建多级目录(比如/dir1/dir2/dir3 。。。) |
getcwd | - | 返回当前工作目录 |
utime | path, (atime, mtime) | 更新文件访问、变更的时间戳,如果第二个参数为None,则使用当前系统时间。 |
listdir | path | 返回指定目录下所有文件名、目录名构成的列表。 |
rename | old, new | 对文件或目录进行重命名 |
getenv | key, default=None | 获得指定的环境变量值,如果不存在,返回None. |
putenv | key, value | 设定环境变量 |
remove | path | 删除指定的文件 |
system | command string | 在子进程中执行command。比如: os.system("ls") ,执行unix的ls命令 |
stat | path | 以元组的形式返回指定文件或目录的信息 |
chmod | path, mode | 修改指定文件或目录的访问权限 |
umash | new_mask | 设置权限模式,返回设置前的权限模式 |
chown | path, uid, gid | 改变指定文件或目录的用户id和组id |
open | filename, flag [, mode=0777] | 打开指定文件,返回文件描述符 |
close | fd | 关闭文件描述符对应的文件 |
read | fd, buffersize | 从文件描述符fd指定的文件读取buffersize大小内容 |
write | fd, string | 写string到fd对应的文件 |
dup | fd | 复制文件描述符fd并返回 |
dup2 | old_fd, new_fd | 复制文件描述符 |