Python中的交互库-os库

简介: Python中的交互库-os库

​### 一.介绍

os库是与操作系统相关的库,它提供了通用的基本的操作系统交互功能。os库是Python的标准库之一,它里面包含几百个处理函数,能够处理与操作系统相关的功能,包括路径操作、进程管理、环境参数设置等几类功能。其中路径操作是利用os.path子库,它用于处理文件以及目录的路径,并获得相关的信息;进程管理指启动系统中的其它程序的功能;环境参数指获得系统软硬件信息等环境参数。

当然os库还包含很多其它功能,这里只介绍这三种。

二.使用说明

1.os库的路径操作

os库使用os.path子库来进行路径操作,这个子库以path为入口,用于操作和处理文件的路径,这里的path(入口)指的是目录或包含文件名称的文件的路径。具体使用保留字import,调用import os.path或者import os.path as <别名>。

常用函数如下:

os.path.abspath(path)

返回path在当前文件系统中的绝对路径(path也许是不存在的),例如:

>>> import os
>>> os.path.abspath("/")
'C:\\'
>>> os.path.abspath("a.txt")
'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\a.txt'
>>> os.path.abspath("C:/Users/Administrator/Desktop/text.py")
'C:\\Users\\Administrator\\Desktop\\text.py'
os.path.normpath(path)     

将path归一化的表示,统一使用\分隔路径,只是修改提供的path不会返回绝对路径,

也认为是可以将字符串path中的/和//改为\,例如:

>>> import os
>>> os.path.normpath("/")
'\\'
>>> os.path.normpath("a.txt")
'a.txt'
>>> os.path.normpath("C://")
'C:\\'
os.path.relpath(path)     

返回当前程序与文件之间的相对路径(文件也许不存在),例如:

>>> import os
>>> os.path.relpath("C:/a.txt")
'..\\..\\..\\..\\a.txt'
os.path.dirname(path)     

返回path中的目录名称(path也许不存在),例如:

>>> import os
>>> os.path.dirname("C:/a.txt")
'C:/'
>>> os.path.dirname("a.txt")
''
os.path.basename(path)     

返回文件的文件名(path也许不存在),例如:

>>> import os
>>> os.path.basename("C:/a.txt")
'a.txt'

os.path.join(path,*paths)

组合path和paths,返回一个路径字符串,例如:

>>> import os
>>> os.path.join("C:/","Python/a.txt")
'C:/Python/a.txt'
>>> os.path.join("c:/","Python/a.txt","Python/b.txt")
'c:/Python/a.txt\\Python/b.txt'
>>> os.path.join("c:/","python","a.txt")
'c:/python\\a.txt'
>>> os.path.join("c:/","python/","a.txt")
'c:/python/a.txt'
os.path.exists(path)     

判断path对应文件或目录是否存在,返回True或Fasle,例如:

>>> import os
>>> os.path.exists("C:/python/a.txt")
False
os.path.isfile(path)     

判断path所对应的是否是存在的文件,返回True或False,例如:

>>> import os
>>> os.path.isfile("C:/python/a.txt")
False
>>> os.path.isfile("C:/Users")
False
os.path.isdir(path)     

判断path所对应的的是否是存在的目录,返回True或False,例如:

>>> import os
>>> os.path.isdir("C:/Users/a.txt")
False
>>> os.path.isdir("C:/python")
False
>>> os.path.isdir("C:/Users")
True
os.path.getatime(path)     

返回path对应文件或目录最近一次的访问时间,path不存在则报错,例如:

>>> import os
>>> os.path.getatime("C:/Users/Administrator/Desktop/text.py")
1585729867.9679828
os.path.getmtime(path)     

返回path对应文件或目录最近一次的修改时间,path不存在则报错,例如:

>>> import os
>>> os.path.getmtime("C:/Users/Administrator/Desktop/text.py")
1586841541.9545102
os.path.getctime(path)     

返回path对应文件或目录的创建时间,path不存在则报错,例如:

>>> import os
>>> os.path.getctime("C:/Users/Administrator/Desktop/text.py")
1585729867.6859667
os.path.getsize(path)     

返回path对应文件的大小,以字节为单位,例如:

>>> import os
>>> os.path.getsize("C:/Users/Administrator/Desktop/text.py")
44

返回的三个时间可以使用time.ctime()来转化为易读时间。

2.os库之进程管理

进程管理指的是使用编写的Python程序去调用其他的外部程序。os库提供了一个函数叫system(),它能够执行其他的程序或命令。在Windows操作系统中,当我们调用os.system()函数时,它将返回调用这个函数结果的返回信息。

举个例子:

>>> import os
>>> os.system("C:/Windows/System32/calc.exe")  #调用计算器函数

之后会出现如下窗口

请在此添加图片描述

如果此时关闭计算器窗口那么会在IDLE中返回0。

当然也可以给调用的程序指定参数,例如打开画图程序msprint.exe,同时给出要打开的文件:

>>> import os
>>> os.system("C:/Windows/System32/mspaint.exe C:/Users/Administrator/Desktop/pywcloud.png")

调用的文件需要在Python根目录下存在(不知道是不是必须),之后出现如下窗口

请在此添加图片描述
关闭画图窗口后,IDLE返回0.

3.os库之环境参数

环境参数是指获取或改变操作系统中的环境信息,常用函数如下:

os.chdir(path)

修改当前程序的操作路径,例如:

>>> import os
>>> os.path.abspath("a.txt")
'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\a.txt'
>>> os.chdir("D:/") #Python小白学习交流群:725638078
>>> os.path.abspath("a.txt")
'D:\\a.txt'
os.getcwd()     

返回程序的当前路径,例如:

>>> import os
>>> os.getcwd()
'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64'
os.getlogin()     

获取当前系统登录的用户名,例如:

>>> import os
>>> os.getlogin()
'Administrator'
os.cpu_count()     

获得当前系统的虚拟CPU数量(核心数),例如:

>>> import os
>>> os.cpu_count()
4
os.urandom(n)     

产生n个字节长度的随机字符串,通常用于加解密运算,由于默写字符串不能够被打印出来,所以输出采用16进制表示,例如:

>>> import os
>>> os.urandom(10)
b'\xf6yzR\x0fI\xd3\x96\xee\x86'
相关文章
|
15天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
45 4
数据分析的 10 个最佳 Python 库
|
1天前
|
XML JSON 数据库
Python的标准库
Python的标准库
22 11
|
14天前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
65 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
1天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
26 8
|
22天前
|
XML 存储 数据库
Python中的xmltodict库
xmltodict是Python中用于处理XML数据的强大库,可将XML数据与Python字典相互转换,适用于Web服务、配置文件读取及数据转换等场景。通过`parse`和`unparse`函数,轻松实现XML与字典间的转换,支持复杂结构和属性处理,并能有效管理错误。此外,还提供了实战案例,展示如何从XML配置文件中读取数据库连接信息并使用。
Python中的xmltodict库
|
22天前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
70 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
|
9天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
20 4
|
22天前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
17天前
|
测试技术 Python
Python中的异步编程与`asyncio`库
Python中的异步编程与`asyncio`库
|
20天前
|
JavaScript 前端开发 Python
python中的OS模块的基本使用
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。博客分享前端技术及全栈开发经验,持续更新中,期待您的关注和支持!🎉🎉🎉
28 0