[os - py3 doc](https://docs.python.org/3/library/os.html)
os - 操作系统接口
====
源码:Lib/os.py
简介
------
os.getcwd(): 获取当前目录
os.name: 获取当前使用的操作系统 eg: print os.name
os.envirom: 获取系统环境变量,如:PATH、TEMP等
os.remove(): 删除指定文件 eg: os.remove('test.txt')
os.rmdir(): 删除指定目录
os.removedirs(): 递归删除指定空目录 eg: os.removedirs('testcase')
os.system(): 运行shell命令 eg: os.system('javac')
os.mkdir(): 创建一个新目录 eg: os.mkdir("testcase")
os.chdir(): 修改当前路径到指定路径 eg: os.chdir(filepath)
os.listdir():返回指定目录下的所有目录和文件 eg" os.listdir(os.getcwd())
os.walk(): 文件/目录遍历器
os.path模块
os.path.abspath(path) : 返回绝对路径
os.path.basename(path): 返回文件名
os.path.dirname(path) : 返回文件路径
os.path.exists(path):路径存在返回True,路径损坏返回False
os.path.join(a, *p): 拼接路径,参数末尾和开头不要出现'/'
环境变量
--------
### os.environ
环境变量的映射对象,当成一个字典看即可。
```
import os
type(os.environ) # <class 'os._Environ'>
os.environ['PATH']
for k, v in os.environ.items():
print(k, + ':' + v)
```
文件&目录
-----------
### os.getcwd()
获取脚本当前路径(入口脚本的位置)
### os.listdir(path)
列出路径下面的文件夹或文件,返回列表
### os.mkdir(path, mode=0o777, dir_fd=None)
创建目录,返回 None,目录已存在则报错
- path 绝对地址 / 相对地址
- mode 是 8 进制整数
- dir_fd 不懂不管
### os.makedirs(name, mode=0o777, exist_ok=False)
递归创建目录,返回 None,目录已存在则报错
- name 绝对地址 / 相对地址
- mode 是 8 进制整数
- exist_ok 不懂不管
### os.remove(path, *, dir_fd=None)
删除文件,路径是文件夹则报错
- path 绝对地址 / 相对地址
### os.removedirs(name)
递归删除空目录
例子
-----
递归删除非空目录下所有文件及文件夹
```
import os
def rec_removedirs(path):
if os.path.isdir(path):
dirlist = os.listdir(path)
for x in dirlist:
new_path = os.path.join(path, x)
rec_removedirs(new_path)
os.rmdir(path)
else:
os.remove(path)
rec_removedirs('/home/meng/logs(复件)/')
```
- 前言
- Python编程规范
- 编码
- 代码
- 缩进、行宽、引号、空行
- 空格
- 换行
- import
- 注释
- 代码注释
- 文档注释(Docstring)
- 命名规范
- 数据结构
- 变量
- 变量作用域
- 命名空间
- 作用域
- python作用域
- 对象
- 序列
- 可迭代对象
- 迭代器
- 生成器
- 可迭代对象 & 迭代器 & 生成器
- 整数池 & 字符串intern
- 数据类型
- 数字
- int
- float
- NaN
- 四舍五入 & 取整
- 列表
- 元组
- 字典
- 集合
- 字符串
- 字符集&字符编码
- 字符串&字节串
- 字符串函数
- 字符串格式化
- str.format
- Formatted string literals
- format函数
- string.Formatter类
- %
- Format String Syntax
- Format Specification Mini-Language
- fill
- align
- sign
- #
- 0
- width
- grouping_option
- .precision
- type
- locale
- Python3 locale 模块
- 语句
- 运算符
- if/else
- for...in
- while
- break/continue
- 函数
- 函数
- 函数参数
- 递归函数
- 匿名函数
- 高阶函数
- map
- reduce
- filter
- sorted
- 返回函数
- 闭包
- 装饰器
- 函数装饰器
- 带参数的装饰器
- 类装饰器
- 带参数的类装饰器
- 偏函数
- 面向对象
- 类 & 实例
- 属性
- 方法
- 访问限制
- 继承
- 新式类 & 经典类
- MRO
- MixIn
- 模块
- 特殊变量
- 编写模块
- 引入 & 重载
- 搜索模块
- 第三方模块
- 常见模块
- 标准库
- os
- sys
- datetime
- re
- urllib
- time/datetime
- threading
- multiprocessing
- builtins
- help
- range
- enumerate
- 异同
- str() repr() ascii()
- exit()、sys.exit()、os._exit()
- 数据库
- mysql
- 错误、调试、测试
- 异常
- 异常处理
- 自定义异常
- 抛出异常
- 调试
- logging
- pdb
- 线程&&进程
- 线程
- 杂
- python 脚本传参
- python无关
- redis
- mongo
- linux
- mysql简略