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

news/2025/2/23 3:42:48/

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?type=collect个人简介:打工人。

持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。

如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:zhilong666@foxmail.com 

目录

前言

OS模块的发展史

使用方法

1. 获取当前工作目录

2. 改变工作目录 

3. 列出目录下的文件和子目录 

4. 创建目录 

5. 删除目录 

6. 获取文件信息 

7. 删除文件 

8. 重命名文件或目录 

9. 检查文件或目录是否存在 


前言

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

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

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

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

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

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

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

OS模块的发展史

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

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

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

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

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

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

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

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

使用方法

1. 获取当前工作目录

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

import os# 获取当前工作目录
current_path = os.getcwd()
print(current_path)

2. 改变工作目录 

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

import os# 改变当前工作目录到上一级
os.chdir("..")
# 获取当前新的工作目录
current_path = os.getcwd()
print(current_path)

3. 列出目录下的文件和子目录 

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

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

4. 创建目录 

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

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

5. 删除目录 

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

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

6. 获取文件信息 

        使用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)   # 文件最后修改时间(时间戳)

7. 删除文件 

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

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

8. 重命名文件或目录 

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

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

9. 检查文件或目录是否存在 

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

import os# 检查文件或目录是否存在
print(os.path.exists("example.txt"))  # True
print(os.path.exists("no_file.txt"))  # False


http://www.ppmy.cn/news/57921.html

相关文章

正则表达式学习笔记

re.match()的使用 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None 1.最常规的匹配 import re contect Hello 123 456789 World_this is a Regex Demores re.match(^Hello\s\d\d\d\s\d{6…

营收、利润增速第一!海尔智家为何领跑?

“企业只有保持领先的能力,才有可能取得经济成果。” 管理学大师德鲁克曾如此强调。所谓“领先”,就是独一无二的、有价值的东西。利润,是企业在某个领域取得领先优势后,必然获得的回报。 这种“领先优势”,在各行业…

c++ 虚函数

虚函数的理解 1、c virtual 函数作用:如果重写的函数中有重名的函数,那么则调用重写的函数 2、 如果不是虚函数,则调用继承的函数 3、“重写”的要求是函数的特征标(包括参数的数目、类型和顺序)以及返回值都必须与基类…

5. 操作系统基础

5. 操作系统基础 常考面试题 说说你对进程的理解⭐⭐⭐ 程序是指令、数据及其组织形式的描述,而进程则是程序的运行实例,包括程序计数器、寄存器和变量的当前值。 Linux的进程结构,一般分为三部分:代码段、数据段(.data与.bss)和堆栈段。 代码段用于存放程序代码,如果有…

Python基础合集 练习24 (程序调试)

assert expression[,arguments] expression条件表达式语句,如果表达式的值为真,则程序会继续执行下去,如果值为假则程序抛出Assertionerror错误,并输出指定的参数内容 arguments可选参数 if not expression: raise AssertionError(argument) def num_ca(): book int(inpu…

【Log4j RCE (CVE-2021-44228)】复现及原理分析

Log4j RCE (CVE-2021-44228) 2021 年 12 月 9 日,阿里云安全团队向 apache 报告了由 log4j 日志引起的远程代码执行漏洞。 2021 年 12 月 10 日凌晨,log4j 漏洞利用细节被公开,几乎所有的互联网公司都受到影响。 2021 …

Linux man 命令详解

man 命令 Linux man 命令用于显示 Linux 操作系统中的手册页(manual page),它提供了对 Linux 操作系统中各种命令、函数、库等的详细说明,man 命令有许多参数。 参数介绍 下面简要介绍一下主要参数的功能: -f&…

【五一创作】《嵌入式系统》知识总结7:GPIO寄存器

总述 每组端口具有7个寄存器 • 实现对GPIO端口初始化配置和数据输入输出控制 1. 配置寄存器:GPIOx_CRL、GPIOx_CRH 用来选择引脚功能,例如输入或输出 2. 数据寄存器:GPIOx_IDR、GPIOx_ODR 用来保存引脚输入电平或输出电平 3. 位控寄存器…