python如何使用os模块进行文件和目录操作?

简介: python如何使用os模块进行文件和目录操作?

Python的os模块提供了与操作系统交互的各种功能,包括文件和目录的操作。以下是一些使用os模块进行文件和目录操作的例子:

  1. 获取当前工作目录
    • 使用os.getcwd()可以获取当前的工作目录。
import os
current_dir = os.getcwd()
print(current_dir)
  1. 改变当前工作目录
    • 使用os.chdir()可以改变当前工作目录到指定路径。
os.chdir('/path/to/your/directory')
  1. 创建目录
    • 使用os.mkdir()可以创建一个新目录。如果要递归创建多级目录,可以使用os.makedirs()
os.mkdir('new_directory')
os.makedirs('nested/new_directory', exist_ok=True)  # 如果路径已存在,exist_ok参数可避免错误
  1. 删除目录
    • 使用os.rmdir()可以删除一个空目录,而os.removedirs()可以递归删除一个包含子目录的空目录树。
os.rmdir('empty_directory')
os.removedirs('nested/empty_directory')
  1. 重命名文件或目录
    • 使用os.rename()或者os.renames()来重命名文件或目录。
os.rename('old_name.txt', 'new_name.txt')  # 在同一目录内重命名文件
os.renames('old_directory', 'new_directory')  # 可以处理跨目录的情况
  1. 删除文件
    • 使用os.remove()来删除单个文件。
os.remove('file_to_delete.txt')
  1. 列出目录内容
    • 使用os.listdir()返回指定目录下的所有文件和子目录名列表。
files_and_folders = os.listdir('.')
  1. 判断路径是否存在
    • 使用os.path.exists()os.path.isfile()os.path.isdir()检查路径是否存在,并判断是文件还是目录。
if os.path.exists('path'):
    if os.path.isfile('path'):
        print("It's a file")
    elif os.path.isdir('path'):
        print("It's a directory")
else:
    print("Path does not exist")
  1. 获取文件属性
    • 使用os.stat()可以获取文件的各种属性,如大小、修改时间等。
import time
stat_info = os.stat('file.txt')
print(stat_info.st_size)  # 文件大小(字节)
print(time.ctime(stat_info.st_mtime))  # 修改时间

以上只是os模块的一部分功能,它还提供了更多的函数来处理文件权限、环境变量、进程管理等等。

相关文章
|
11月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
1137 7
|
11月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
810 4
|
11月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
895 0
|
11月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
1365 0
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
1806 0
Vanilla OS:下一代安全 Linux 发行版
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
Web App开发 缓存 Rust
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
637 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
775 10
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
410 7