一、简介
os模块是Python内置的模块,它提供了多种操作系统的接口。通过os模块提供的操作系统接口,我们可以对操作系统里文件、终端、进程等进行操作。
先附上官方文档的链接,有兴趣的同学可以点击查看:os — 多种操作系统接口 — Python 3.8.13 文档
我们使用os模块,一般会用于对文件、文件路径进行操作,包括但不限于查看文件路径、拼接文件路径等。本文主要介绍os模块中对文件、文件路径操作的常用函数。
二、os模块的常用函数
一般我们使用 os 模块下的函数只需要调用 os.函数名()即可,但是有一部分与路径相关的函数放置在 os.path 模块下,因此这部分函数需要通过 os.path.函数名() 的方式进行调用。
使用前记得确保已经下载安装了os模块,如果没有安装
下载指令: pip install os(windows系统) pip3 install os(mac系统)
(1)os模块下的函数
1、os.getcwd():返回当前工作目录
import os
print(os.getcwd())
2、os.listdir(path=”.”):返回文件夹下所有文件名
这个函数以 列表的形式返回path下的所有文件的文件名,如果path不指定,则返回当前目录下的。
files=os.listdir(r"C:\Users\86177\Desktop\2022研究生统计建模大赛\乡村人口数(2008-2020年)")
print(files)
3、os.mkdir(path):创建文件夹
在文件夹乡村人口数(2008-2020年)里创建一个名为test的文件夹。
如果文件夹内已有名为test的文件夹将会报错:当文件已存在时,无法创建该文件。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
path1=file_cwd+"\\test"
os.mkdir(path1)
print(os.listdir(file_cwd))
在file_cwd文件夹里成功创建了一个名为test的文件夹。
4、os.replace(src, dst):重命名或替换文件
将文件或者文件夹src重命名为dst。如果dst已经存在且为文件,则会使用dst替换src文件。
注意:src为就文件(夹)路径,dst为新文件(夹)路径
此处将桌面名为’2022研究生统计建模大赛’的文件夹改成了’2021研究生统计建模大赛’
file='C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛'
file_new='C:\\Users\\86177\\Desktop\\2021研究生统计建模大赛'
os.replace(file,file_new)
5、os.rmdir(path):删除一个文件
删除一个文件,path为文件夹路径。我们尝试删除刚才创建的文件夹。
os.rmdir(path1)
print(os.listdir(file_cwd))
可以看到名为test的文件夹已经找不到了。
6、os.walk(path):遍历获取所有下级文件和文件的文件名
这个函数可以以 多个列表的形式返回path下面 所有文件和文件夹的名字。具体的介绍参考下面的文档:
石墨文档 石墨文档 石墨文档 《os.walk()的介绍和使用》
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
data_file=os.walk(file_cwd)
print(data_file)
for file in data_file:
print(file)
可以看到此处data_file的格式是object _walk格式,我们需要借助一个循环来查看数据。
(2)os.path模块下的函数
1、os.path.abspath(path):返回绝对路径
使用这个函数可以获得path的绝对路径字符串。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.abspath(file_cwd))
2、os.path.dirname(path):返回文件夹名称
返回path所在的文件夹的名称。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.dirname(file_cwd))
3、os.path.exists(path):检查文件或文件夹是否存在
检查文件或者文件夹是否存在,如果存在,则返回True。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.exists(file_cwd))
4、os.path.getsize(path):返回文件/文件夹的大小,以字节为单位
返回path的大小,以字节为单位。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.getsize(file_cwd))
5、os.path.isabs(path):判断路径是否是一个绝对路径
如果path是绝对路径,则返回True。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.isabs(file_cwd))
6、os.path.isfile(path):判断是否是一个文件
如果path是一个现有的文件,则返回True。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.isfile(file_cwd))
此处file_cwd是一个文件夹,故返回False。
7、os.path.isdir(path):判断是否是一个文件夹
如果path是一个现有的文件夹,则返回True。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
print(os.path.isdir(file_cwd))
8、os.path.join(path, *path):智能拼接文件路径
智能地拼接一个或者多个路径的部分,如果传入的某个参数为绝对路径,则会从这个绝对路径开始向后拼接。
print(os.path.join('/test/','file1'))#结果为 /test/file1
print(os.path.join('/test/','file_cwd','file'))#结果为 /test/file_cwd\file
print(os.path.join('/test/','file_cwd/','file'))#结果为 /test/file_cwd/file
9、os.path.split(path):拆分文件路径
将路径path拆分为一个元组(head, tail),其中,tail为路径的最后一部分,head是除了tail之外的内容。
file_cwd="C:\\Users\\86177\\Desktop\\2022研究生统计建模大赛\\乡村人口数(2008-2020年)"
file_new='C:\\Users\\86177\\Desktop\\2021研究生统计建模大赛'
print(os.path.split(file_cwd))
print(os.path.split(file_new))
Original: https://blog.csdn.net/m0_56839722/article/details/126586615
Author: 最后一瓢若水
Title: OS 模块介绍
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/757897/
转载文章受原作者版权保护。转载请注明原作者出处!