16.1. os

该模块提供了一种使用操作系统相关功能的便携方式。

16.1.1. 文件名,命令行参数,环境变量

os.name             获取操作系统名字,只有3个值,posix,nt,java。
os.environ          环境变量
os.chdir(path)      切换目录
os.getcwd()         获取当前的工作目录,
os.fsencode(filename) 文件名encode
os.fsdecode(filename) 文件名decode
os.fspath(path)       文件系统路径表示
os.getenv(key,default=None) 获取指定的环境变量
os.get_exec_path(env=None)  获取可执行路径
os.getlogin()               获取登陆用户名
os.putenv(key, value)       设置环境变量
os.close(fd)                关闭指定的描述符
os.open(path, flags, mode=0o777, *, dir_fd=None) 打开文件
os.read(fd,n)               读取文件
os.write(fd,str)            写文件
os.get_terminal_size(fd=STDOUT_FILENO)  获取终端大小
os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) 文件访问判断
os.listdir(path=".")        获取当前目录文件和目录
os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True 创建符号连接
os.mkdir(path, mode=0o777, *, dir_fd=None) 创建目录
os.makedirs(name, mode=0o777, exist_ok=False) 递归创建目录
os.remove(path, *, dir_fd=None)                 删除文件
os.removedirs(name)                             删除目录递归
os.rename(src, dst) 重命名
os.stat(path, *, dir_fd=None, follow_symlinks=True) stat信息
os.walk(top, topdown=True, onerror=None, followlinks=False) 遍历目录每个记录是(dirpath, dirnames, filenames)
os.popen(cmd, mode='r', buffering=-1) 执行命令
os.system(command)                    执行命令
os.curdir                           当前目录
os.pardir                           父目录

判定文件权限样例:

if os.access("myfile", os.R_OK):
    with open("myfile") as fp:
        return fp.read()
return "some default data"