前言
我们已经掌握了Python中文件的读写操作,如果要把文件指定写到某个目录下,又该如何操作呢?Python内置的模块也可以直接调用操作系统提供的接口函数。本节内容需要导入模块:
操作系统
查看操作系统可以用以下代码:
运行结果:
解释说明:如果结果是,说明系统是;如果是,就是系统。我用的是系统,所以打印出来的是。
环境变量
在操作系统中定义的环境变量,全部保存在os.environ这个变量中,可以直接查看:
运行结果:
要获取某个环境变量的值,可以调用,比如上面的环境变量中,获取第一个key为"SYSTEMROOT"的对应的值:
运行结果:
操作文件和目录
操作文件和目录的函数一部分放在模块中,一部分放在模块中,这一点要注意一下。查看、创建和删除目录可以这么调用:
查看当前路径的绝对路径
运行结果:
创建一个新目录(新文件夹)
在某个目录下创建一个新目录,首先把新目录的完整路径表示出来:
运行结果:
新创建一个文件夹new_dir
注意:把两个路径合成一个时,不要直接拼字符串,而要通过函数,这样可以正确处理不同操作系统的路径分隔符。在下,返回这样的路径分隔符:,而在系统下,返回:
删除目录
运行结果:
删除了文件夹new_dir
获取最后一级目录或文件名
同样的道理,要拆分路径时,也不要直接去拆字符串,而要通过函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:
运行结果:
获取文件扩展名
运行结果:
说明:这些合并、拆分路径的函数并不要求目录和文件要真实存在,它们只对字符串进行操作。
文件操作
文件重命名
删除文件
但是复制文件的函数居然在模块中不存在!原因是复制文件并非由操作系统提供的系统调用。理论上讲,我们通过上一节的读写文件可以完成文件复制,只不过要多写很多代码。
幸运的是模块提供了的函数,你还可以在模块中找到很多实用函数,它们可以看做是模块的补充。
过滤文件
我们可以打印出当前目录下所有文件或者添加条件后,就变成了筛选。
当前目录结构
运行结果:
小结
本小节主要学习了Python内置的模块,可以直接调用操作系统提供的接口函数,进而操作文件和目录。
领取专属 10元无门槛券
私享最新 技术干货