集合了文件操作,与操作系统有关
一,os模块的简单介绍
1,os模块主要有以下几种:posix(适用于unix操作系统),nt(win),mac(旧版本的MACOS),dos(DOS)
使用os模块的过程中,不再需要考虑平台的差异,python解释器就会帮大家选择真确的系统支持
2,os对进程和进程运行的环境进行管理,os模块还可以处理大部分文件系统操作:比如删除,重命名文件,便利目录树,以
及管理文件访问权限
3,os和sys的区别:
os负责程序与操作系统的交互,sys负责程序与python解释器的交互
4,os.path和sys.path:
sys.path是咱们常用的PATH环境变量,而os.path是一个模块,提供一些方法函数
二,常用OS模块函数
1,os.name:输出字符串指示正在使用的平台,如果是window则使用‘nt’表示,对于Linux/Unix用户,它是‘posix’
2,os.getcwd():函数得到当前工作目录(就是你的进程所工作的目录),即当前python脚本工作的目录路径
运行目录:执行程序的路径
工作目录:程序运行时,程序中我们要操作的一系列相对路径(相对路径需要参照),已运行时目录为参照,并且可在程序
运行时更改
3,os.listdir():返回指定目录下所有文件和目录名的一个列表,但是并没有列出来什么是目录,什么是文件
4,os.remove("file_name"):删除指定文件
5,os.rmdir("dir_name"):删除指定目录
eg:
但是还有一个疑问需待考究,那就是删除目录的时候,如果目录不为空时,能不能删除,
还有就是目录下有东西在运行还能删除吗?
经过实际验证,答案就是不能删除空目录
6,os.mkdir("dir_name"):创建目录
eg:
7,os.makedirs("a/b/c"):递归创建目录 (已经存在不可以创建)
eg:
8,os.sysytem("ls"):执行shell命令
eg:
9,os.chdir("file_path"):改变工作目录
10,os.chmod("file_name"):改变文件或目录的权限
三,OS.Path模块函数
1,os.path.abspath("file_name"):返回文件或目录的绝对路径(直接拼接,不会去操作系统在检验是否存在)
eg:
2,os.path.split("file_path"):将路径分隔成目录和文件名,并勇一个元组返回
eg:
3,os.path.basename("path"):返回路径最后一个文件名,如果后面还有\/那么返回一个空字符串
eg:
4,os.path.exists("file_path"):如果路径存在,则返回True,反之返回False
eg:
5,os.path.join("file_path","file_name"):路径拼接
6,os.path.isdir("name"):判断是否为目录,返回值为bool数据类型
eg:
7,os.path.isfile("name"):判断是否为文件,返回值为bool数据类型
8,os.path.islink("name"):判断是否为链接,返回值为bool数据类型(linux下明显)
9,os.path.getsize("path"):返回文件大小,如果文件不存在,就返回错误
eg: