OS 模块介绍

一、简介

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))

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值