脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python 的 os 模块:文件和目录操作的利器

Python 的 os 模块:文件和目录操作的利器

2024-01-05 14:53涛哥聊Python Python

Python 的 os 模块提供了强大的工具,用于进行文件和目录操作,以及与操作系统交互。不仅可以简化文件操作,还可以使代码在不同操作系统上具有更好的可移植性。

Python 的 os 模块:文件和目录操作的利器

Python 的标准库提供了许多有用的模块,其中 os 模块是一个功能强大的工具,用于进行文件和目录操作,以及管理操作系统相关的功能。无论是在编写脚本还是开发应用程序,os 模块都是不可或缺的。

本文将深入介绍 os 模块,包括其主要功能和示例代码,更好地理解如何利用它来管理文件和目录。

一、什么是os模块?

os 模块是 Python 标准库中的一个核心模块,提供了与操作系统交互的函数和方法。

通过 os 模块,可以执行以下操作:

  • 文件和目录的创建、删除、重命名等操作。
  • 获取文件和目录的属性信息,如大小、权限等。
  • 运行系统命令和子进程。
  • 管理环境变量和路径。
  • 处理文件路径,包括路径拼接、拆分和规范化。
  • 更多与操作系统相关的功能。

os 模块编写可移植的代码,因为它可以适应不同操作系统(如 Windows、Linux 和 macOS)的差异。

二、文件和目录操作

1、创建目录

使用 os.mkdir() 函数可以创建一个新的目录。如果目录已经存在,会引发 FileExistsError 异常。

import os

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

2、删除目录

使用 os.rmdir() 函数可以删除目录。如果目录非空,会引发 OSError 异常。

import os

# 删除目录
os.rmdir("my_directory")

3、遍历目录

os 模块提供了许多方法来遍历目录中的文件和子目录。例如,os.listdir() 返回指定目录中的所有文件和子目录的列表。

import os

# 遍历目录并打印文件和子目录
for item in os.listdir("my_directory"):
    print(item)

4、文件操作

os 模块还可以进行文件操作,如创建文件、删除文件、重命名文件等。

以下是一些常见的文件操作示例:

import os

# 创建文件
with open("my_file.txt", "w") as file:
    file.write("Hello, World!")

# 删除文件
os.remove("my_file.txt")

# 重命名文件
os.rename("old_file.txt", "new_file.txt")

三、路径操作

os 模块提供了一组函数来处理文件和目录路径。这对于编写可移植的代码特别有用,因为不同操作系统使用不同的路径分隔符。

以下是一些示例:

1、拼接路径

os.path.join() 函数用于拼接目录和文件名,根据当前操作系统的规则自动添加正确的路径分隔符。

import os

path = os.path.join("my_directory", "file.txt")

2、获取绝对路径

os.path.abspath() 函数用于获取指定路径的绝对路径。

import os

absolute_path = os.path.abspath("my_directory/file.txt")

3、拆分路径

os.path.split() 函数将路径拆分为目录部分和文件名部分。

import os

dirname, filename = os.path.split("/path/to/my_file.txt")

四、系统命令和子进程

os 模块可以执行系统命令和创建子进程。这对于自动化系统任务非常有用。

1、执行系统命令

os.system() 函数可用于执行系统命令。

import os

# 执行系统命令
os.system("ls -l")

2、创建子进程

os 模块还提供了创建子进程的函数,如 os.fork()、os.spawn*() 等。允许在 Python 中运行其他程序。

五、示例应用:批量重命名文件

一个实际示例,使用 os 模块批量重命名文件。

import os

# 获取目标目录中的所有文件
directory = "my_directory"
files

 = os.listdir(directory)

# 批量重命名文件
for i, filename in enumerate(files):
    new_name = f"file_{i+1}.txt"
    os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))

此示例会将目录中的所有文件重命名为 "file_1.txt"、"file_2.txt" 等。

总结

Python 的 os 模块提供了强大的工具,用于进行文件和目录操作,以及与操作系统交互。不仅可以简化文件操作,还可以使代码在不同操作系统上具有更好的可移植性。

原文地址:https://www.toutiao.com/article/7295023096791794217/

延伸 · 阅读

精彩推荐
  • PythonPython 实现LeNet网络模型的训练及预测

    Python 实现LeNet网络模型的训练及预测

    本文将为大家详细讲解如何使用CIFR10数据集训练模型以及用训练好的模型做预测。代码具有一定价值,感兴趣的小伙伴可以学习一下...

    Serins9652022-03-07
  • Pythonnetworkx库绘制带权图给无权图加权重输出

    networkx库绘制带权图给无权图加权重输出

    这篇文章主要为大家介绍了Python networkx库绘制带权图给无权图加权重并输出权重的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多...

    zheng____5202023-01-13
  • Pythonpython版单链表反转

    python版单链表反转

    这篇文章主要为大家详细介绍了python版单链表反转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    xiaoming_tju9582022-12-14
  • PythonDjango实现WebSocket在线聊天室功能(channels库)

    Django实现WebSocket在线聊天室功能(channels库)

    本文基于channels库Django实现WebSocket在线聊天室功能,包括安装及创建django项目的全过程,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定...

    IT小学生蔡坨坨6742022-01-11
  • Pythonpython中实现php的var_dump函数功能

    python中实现php的var_dump函数功能

    这篇文章主要介绍了python中实现php的var_dump函数功能,var_dump函数在PHP中调试时非常实用,本文介绍在Python中实现这个函数,需要的朋友可以参考下 ...

    脚本之家4762020-05-20
  • Python一篇文章带你了解Django ORM操作(高端篇)

    一篇文章带你了解Django ORM操作(高端篇)

    本篇主要补充的是一些高端操作,例如聚合操作,分组操作,分组再筛选操作,F查询和Q查询。 ...

    Python爬虫与数据挖掘7442021-01-05
  • Pythonmac 安装python网络请求包requests方法

    mac 安装python网络请求包requests方法

    今天小编就为大家分享一篇mac 安装python网络请求包requests方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    cwpwenwen88810092021-03-04
  • PythonPython import自定义模块方法

    Python import自定义模块方法

    python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。下面给大家介绍python import自定义模块方法,需要的的朋友参考...

    ohword6752019-11-19