本篇我们来介绍一下 os 模块和 sys 模块. 这两个模块的主要是和系统交互的一些功能.
- import os
- import sys
1. os.
os.getcwd() 得到当前工作目录, 级当前 python 脚本工作的目录路径
os.listdir() 返回指定目录下的所有文件和目录名
os.remove() 用来删除一个文件
os.removedirs(r'c:\python') 删除多个目录
os.system() 运行 shell 命令
os.getenv('HOME') 读取操作系统环境变量 HOME 的值
os.environ
返回操作系统所有的环境变量
os.environ.setdefault('HOME','/home/alex') 设置系统环境变量, 仅程序运行时有效
os.linesep 给出当前平台使用的行终止符(Windows 使用'\r\n',Linux 和 Mac 使用'\n')
os.name 只是你在使用的平台(Windows:nt, Linux/unix:posix)
os.rename(old, new) 重命名.(Windows 系统用 os.replace(old, new))
os.makedirs(r'c:\python\test1\test2') 创建多级目录
os.mkdir('test1') 创建单个目录
os.stat(file) 获取文件属性.
- import os
- d = os.stat(r'C:\Users\xxx\Desktop\python\temp')
- print(d)
执行结果:
- os.stat_result(st_mode=16895, st_ino=4222124650888181, st_dev=508102, st_nlink=1, st_uid=0, st_gid=0, st_size=4096,
- st_atime=1561633541, st_mtime=1561633541, st_ctime=1559978342)
os.chmod(file) 修改文件权限与时间戳
os.chdir(dirname) 改变工作目录到 dirname
- os.get_terminal_size()
- os.kill()
2. os.path.
os.path.isfile() 检验给出的路径是否是一个文件. 返回 bool
os.path.isdir() 检验给出的路径是否是一个目录. 返回 bool
os.path.isabs() 判断是否是绝对路径.???? 有点不好用啊
os.path.exists() 检验给出的路径是否存在. 返回 bool
os.path.split(path) 把上级目录和文件 (夹) 拆开并返回一个 tuple.split 并不能区分目录还是文件, 所以只会把最后一层的文件夹名或文件名拆出来
python import os d = os.path.split(r'C:\Users\xxx\Desktop\python\temp') # temp 是一个文件夹 print(d) # 输出结果:('C:\\Users\\xxx\\Desktop\\python', 'temp')
os.path.splitext(file) 分离扩展名, 返回 tuple.
- ```python
- import os
- d = os.path.splitext(r'C:\Users\xxx\Desktop\python\temp.txt') # 返回 ('路径','. 扩展名') 的元组
- print(d)
- d = os.path.splitext(r'C:\Users\xxx\Desktop\python\temp') # 没有扩展名会在扩展名部分返回一个空字符
- print(d)
执行结果:
- ('C:\Users\xxx\Desktop\python\temp', '.txt')
- ('C:\Users\xxx\Desktop\python\temp', '')
- ```
os.path.dirname(file) 获取 path 的上级目录 (parent directory) 路径, 并返回 string.
python import os d = os.path.dirname(r'C:\Users\xxx\Desktop\python\temp') print(d) # 输出结果: C:\Users\kouneli\Desktop\python
os.path.abspath() 获取绝对路径, 并返回 string.
python import os print(__file__) # 环境变量'__file__': 当前脚本的相对路径, 包含文件名 print(os.path.abspath(__file__)) # 打印当前脚本的绝对路径 print(os.path.dirname(os.path.abspath(__file__))) # 打印当前脚本所在目录的路径
os.path.basename(file) 获取最下级文件 (夹) 名.
python import os d = os.path.basename(r'C:\Users\xxx\Desktop\python\temp') print(d) # 输出结果: temp
os.path.getsize(file) 获取文件大小
os.path.join(dir, filename) 拼接目录名和文件名
3. sys.
sys.argv 命令行参数 List, 第一个元素是程序本身路径.
sys.exit(n) 退出程序, 正常退出时 exit(0)
sys.version 打印 python 解释器的版本
sys.maxsize
打印 python 的最大 int 值
sys.path 返回 module 搜索路径的列表. 可以 append 路径, 但是程序结束后会恢复默认.
sys.platform 返回操作系统平台名称(Windows:win32 ,Linux:CentOS 等 ,Mac:darwin)
sys.stdout.write('please') 标准输出,
sys.stdin.readline()[:-1] 标准输入, 类似 input()
sys.getrecursionlimit() 取得最大递归层数. 默认 1000 层
sys.setrecursionlimit(n) 设置最大递归层数
sys.getdefaultencoding() 获取解释器默认编码
sys.getfilesystemencoding() 获取内存数据存到文件里的默认编码
第六章 常用模块(3):python 常用模块(os,sys)
来源: http://www.bubuko.com/infodetail-3109276.html