【python】 一文了解 OS 操作系统交互库简单使用方法

简介: Python的os模块(Operating System Interface)提供了访问操作系统相关功能的接口,它允许程序与底层操作系统交互,对文件系统、进程、套接字等底层操作进行控制。典型的用法是程序打开某个文件时,os库可以帮助我们判断文件是否存在/是否可读/是否可写等等,同时也可以帮助我们创建和删除目录、文件链接等等。os库提供了一系列的函数和方法,用于处理和管理操作系统文件、文件夹,以及运行和控制进程,具体包括以下功能:对文件和目录(文件夹)的操作:包括创建、重命名、删除等等。

前言
Python的os模块(Operating System Interface)提供了访问操作系统相关功能的接口,它允许程序与底层操作系统交互,对文件系统、进程、套接字等底层操作进行控制。典型的用法是程序打开某个文件时,os库可以帮助我们判断文件是否存在/是否可读/是否可写等等,同时也可以帮助我们创建和删除目录、文件链接等等。

    os库提供了一系列的函数和方法,用于处理和管理操作系统文件、文件夹,以及运行和控制进程,具体包括以下功能:

对文件和目录(文件夹)的操作:包括创建、重命名、删除等等。

文件读写操作:包括打开文件、读文件、写文件、关闭文件等等。

进程管理:包括获取进程号、创建新进程、杀死进程等等。

与操作系统相关的其他功能:如环境变量、进程调度、用户uid、gid等相关的操作。

    总之,os库是Python中一个非常基础、底层的库,提供了丰富的操作系统相关的接口,使用os库可以让Python程序与不同的操作系统(如Windows、Linux、Mac OS)交互,可以让Python程序员在跨平台、与操作系统交互、管理文件系统等方面更方便、更灵活地编写Python程序。

OS模块的发展史
Python的os模块是一个非常重要和强大的模块,它提供了对操作系统的访问和操作。os模块从Python的最初版本开始就存在,但随着时间的推移,它不断地得到改进和扩展,以适应不同操作系统和需求的变化。

    下面是Python os模块的发展史:

Python 1.0时期 Python最初的os模块仅仅提供了基础的文件操作和目录操作功能,如文件的打开、读写、关闭、文件的重命名和删除等。当时,os模块只能在Unix系统上使用。

Python 1.5时期 在Python 1.5版本中,os模块开始提供对Windows系统的支持。并且,新增了更多的文件和文件夹操作方法,以及一些用于跨平台相关操作的方法。

Python 2.0时期 Python 2.0时期,os模块更新了大量的方法和属性。新加入了许多能够读取和操作Unix进程信息的方法,包括获取进程pid、获取当前进程gid、uid等。

Python 3.0时期 在Python 3.0之后,os模块再次更新,主要目的是删除已过时的方法和属性,改进API设计,以使其更加简洁和清晰。

Python 3.3时期 Python 3.3时期,os模块新增了一些基于posix的方法和函数,包括os.chdir、os.uname、os.getlogin等。

    总结来说,随着Python的发展,os模块不断地得到改进和扩展,以适应不同的操作系统和需求的变化,为使用Python进行操作系统级别的任务提供了良好的支持和便利。

使用方法
获取当前工作目录
使用os.getcwd()可以获取当前工作目录。

import os
current_path = os.getcwd()
print(current_path)

改变工作目录
使用os.chdir()可以改变当前工作目录。

import os
os.chdir("..")
current_path = os.getcwd()
print(current_path)

列出目录下的文件和子目录
使用os.listdir()可以列出当前目录下的所有文件和子目录。

import os
#列出当前目录下的所有文件和子目录
file_list = os.listdir(".")
for file_name in file_list:
    print(file_name)

创建目录
使用os.mkdir()可以创建一个新的目录。

import os

# 创建一个新的目录
os.mkdir("new_dir")

删除目录
使用os.rmdir()可以删除一个目录,但要注意,被删除的目录必须是空的。

import os

# 删除一个目录(如果目录为空)
os.rmdir("new_dir")

获取文件信息
使用os.stat()可以获取文件的信息,例如文件大小、创建时间、修改时间等。

import os

# 获取文件信息
file_info = os.stat("example.txt")
print(file_info.st_size)    # 文件大小
print(file_info.st_atime)   # 文件最后访问时间(时间戳)
print(file_info.st_mtime)   # 文件最后修改时间(时间戳)

删除文件
使用os.remove()可以删除一个文件。

import os

# 删除一个文件
os.remove("example.txt")

重命名文件或目录
使用os.rename()可以重命名一个文件或目录。

import os

# 重命名一个文件或目录
os.rename("old_name.txt", "new_name.txt")

检查文件或目录是否存在
使用os.path.exists()可以检查指定的文件或目录是否存在。


import os

# 检查文件或目录是否存在
print(os.path.exists("example.txt"))  # True
print(os.path.exists("no_file.txt"))  # False
目录
相关文章
|
12天前
|
调度 Python
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
微电网两阶段鲁棒优化经济调度方法(Python代码实现)
|
12天前
|
供应链 新能源 调度
微电网调度(风、光、储能、电网交互)(Matlab&Python代码实现)
微电网调度(风、光、储能、电网交互)(Matlab&Python代码实现)
|
30天前
|
Python
Python字符串center()方法详解 - 实现字符串居中对齐的完整指南
Python的`center()`方法用于将字符串居中,并通过指定宽度和填充字符美化输出格式,常用于文本对齐、标题及表格设计。
|
2月前
|
安全 Python
Python语言中常用的文件操作方法探讨
通过上述方法的结合使用,我们可以构筑出强大并且可靠的文件操作逻辑,切实解决日常编程中遇到的文件处理问题。
152 72
|
11天前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
|
3月前
|
存储 机器学习/深度学习 人工智能
稀疏矩阵存储模型比较与在Python中的实现方法探讨
本文探讨了稀疏矩阵的压缩存储模型及其在Python中的实现方法,涵盖COO、CSR、CSC等常见格式。通过`scipy.sparse`等工具,分析了稀疏矩阵在高效运算中的应用,如矩阵乘法和图结构分析。文章还结合实际场景(推荐系统、自然语言处理等),提供了优化建议及性能评估,并展望了稀疏计算与AI硬件协同的未来趋势。掌握稀疏矩阵技术,可显著提升大规模数据处理效率,为工程实践带来重要价值。
141 58
|
2月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
109 0
|
4月前
|
Python
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
105 26
|
4月前
|
存储 Unix Shell
确定Shell脚本在操作系统中的具体位置方法。
这对于掌握Linux的文件系统组织结构和路径方面的理解很有帮助,是我们日常工作和学习中都可能使用到的知识。以上讲解详细清晰,应用简便,是每一个想要精通操作系统的计算机爱好者必备的实用技能。
95 17
|
4月前
|
Python
在VScode环境下配置Python环境的方法
经过上述步骤,你的VSCode环境就已经配置好了。请尽情享受这扇你为自己开启的知识之窗。如同你在冒险世界中前行,你的探索之路只有越走越广,你获得的知识只会越来越丰富,你的能力只会越来越强。
358 37