OS库常用API讲解

简介: OS库常用API讲解

「os」库在Python中使用的特别频繁,本文主要介绍一些在平常开发中常使用的API。使用之前,记得先import一下哦。

import os

「创建文件夹」

os.mkdir('/test/a')
os.makedirs('/test/a')

区别:

os.mkdir在创建文件时,只有当上一级目录存在时,才能创建下一级文件夹。比如说,当你想创建一个test文件夹,并且要在test文件夹里面创建一个a文件夹时,你需要先创建test文件夹,然后才能创建test/a文件夹。

os.mkdir('test')
os.mkdir('test/a')

os.makedirs在创建文件时,不管上一级文件夹存不存在,都可以创建下一级文件夹。

os.makedirs('test/a')

「列出文件夹下的文件和子文件夹」

os.listdir('test')  # 列出test文件夹下所有的文件和子文件夹

「查看/修改系统的环境变量」

os.environ   # 查看所有环境变量
os.environ['A'] = '1'  # 设置环境变量A为1(程序结束后,设置的值自动失效)
os.environ['A']   # 查看环境变量A的值

「获取当前运行路径」

# /test/a.py
os.getcwd()  # /test

「获取cpu核心数」

os.cpu_count()   # 在编写多进程程序时,可能会用到

「执行cmd/shell命令」

os.system('ls')  # Linux
os.system('dir') # Windows

「路径」

os库中os.path是在日常开发中使用最频繁的功能,有些人会为了使用它直接这样引入它

from os import path as op

在这里我们使用下面的写法

import os

在开始路径之前,我们先来确定一些基本概念

path = './test/a.py'

比如上面这个路径,/是分隔符,./test是目录,a.py是文件,a是文件全名,.py是扩展名部分,最后假设该文件的绝对路径是d:/test/a.py。这样我们将一个路径拆解为以上几部分,下面,我们将对这几部分进行操作。

「获取当前操作系统的分隔符」

os.path.sep

「获取目录」

path = './test/a.py'
os.path.dirname(path)  # ./test

「获取文件全名」

path = './test/a.py'
os.path.basename(path)  # a.py

「获取文件的绝对路径」

path = './test/a.py'
os.path.abspath(path)  # d:/test/a.py

「检查文件或者文件夹是否存在」

path1 = './test/a.py'
path2 = './test'
os.path.exists(path1)
os.path.exists(path2)

「拼接路径」

root = 'test'
# bad
path = root + '/' + 'test.py'
# good
path = os.path.join(root,'test.py')  # test/test.py
path = os.path.join(root,'test1','test2','a.py')  # test/test1/test2/a.py

「切割文件全名」

filename = 'a.py'
os.path.splitext(filename)  # ('a', '.py')

「获取文件大小」

path = './test/a.py'  # 文件必须存在,否则报文件未找到的错误
size = os.path.getsize(path)  # 单位是b  size / 1024  # kb

「获取时间属性」

path = './test/a.py'  # 文件必须存在,否则报文件未找到的错误
os.path.getmtime(path)  # 获取最后一次修改时间
os.path.getatime(path)  # 获取最后一次访问时间

「判断一个路径的种类」

path = './test/a.py'  # 文件必须存在,否则报文件未找到的错误
os.path.isfile(path)  # 是否为文件
os.path.islink(path)  # 是否为链接(快捷方式)
os.path.isdir(path)  # 是否为文件夹
os.path.isabs(path)  # 是否是绝对路径
相关文章
|
12天前
|
JSON 资源调度 JavaScript
Vue框架中Ajax请求的实现方式:使用axios库或fetch API
选择 `axios`还是 `fetch`取决于项目需求和个人偏好。`axios`提供了更丰富的API和更灵活的错误处理方式,适用于需要复杂请求配置的场景。而 `fetch`作为现代浏览器的原生API,使用起来更为简洁,但在旧浏览器兼容性和某些高级特性上可能略显不足。无论选择哪种方式,它们都能有效地在Vue应用中实现Ajax请求的功能。
18 4
|
2月前
|
API 数据库 索引
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第二部分part2
indexedDB 操作库IDBWRAPPER 教程翻译及API翻译第二部分part2
|
2月前
|
JSON API 网络架构
【Azure Developer】Azure REST API: 如何通过 API查看 Recovery Services Vaults(恢复保管库)的备份策略信息? 如备份中是否含有虚拟机的Disk
【Azure Developer】Azure REST API: 如何通过 API查看 Recovery Services Vaults(恢复保管库)的备份策略信息? 如备份中是否含有虚拟机的Disk
|
3月前
|
SQL 并行计算 API
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
Dask是一个用于并行计算的Python库,它提供了类似于Pandas和NumPy的API,但能够在大型数据集上进行并行计算。
|
3月前
|
Python
Python基本文件操作及os库
以上仅为Python文件操作和os库的基本用法,实际使用中需要根据具体需求进行调整。
22 1
|
3月前
|
Python
Python基本文件操作及os库
以上仅为Python文件操作和os库的基本用法,实际使用中需要根据具体需求进行调整。
28 1
|
4月前
|
Python
Python中使用os库管理环境变量
在Python中,可以使用os库来管理操作系统的环境变量。通过os.environ对象,我们可以获取、修改和删除环境变量的值。
57 3
|
3月前
|
自然语言处理 PyTorch API
`transformers`库是Hugging Face提供的一个开源库,它包含了大量的预训练模型和方便的API,用于自然语言处理(NLP)任务。在文本生成任务中,`transformers`库提供了许多预训练的生成模型,如GPT系列、T5、BART等。这些模型可以通过`pipeline()`函数方便地加载和使用,而`generate()`函数则是用于生成文本的核心函数。
`transformers`库是Hugging Face提供的一个开源库,它包含了大量的预训练模型和方便的API,用于自然语言处理(NLP)任务。在文本生成任务中,`transformers`库提供了许多预训练的生成模型,如GPT系列、T5、BART等。这些模型可以通过`pipeline()`函数方便地加载和使用,而`generate()`函数则是用于生成文本的核心函数。
|
5月前
|
Shell Go API
7天玩转 Golang 标准库之 os
7天玩转 Golang 标准库之 os
38 1
|
4月前
|
数据采集 Python
Python的第三方库OS库
Python的第三方库OS库
65 0
下一篇
无影云桌面