尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Python3 OS 文件/目录方法详解

Python3 OS 文件/目录方法详解
📅 发布时间:2026/6/19 11:32:13

Python3 OS 文件/目录方法详解

在 Python3 中,os模块提供了与操作系统进行交互的功能,尤其在文件和目录操作方面应用广泛。下面将详细介绍os模块中常用的文件和目录方法。

1. 路径操作

1.1 os.path.join(path, *paths)

作用:将多个路径组合成一个完整的路径,自动处理不同操作系统的路径分隔符。
示例:
 
import ospath = os.path.join('home', 'user', 'documents', 'file.txt')
print(path)  # 输出:home/user/documents/file.txt(Linux系统)或 home\user\documents\file.txt(Windows系统)
 

1.2 os.path.abspath(path)

作用:返回路径的绝对路径形式。
示例:
 
 
import osrelative_path = 'file.txt'
absolute_path = os.path.abspath(relative_path)
print(absolute_path)  # 输出:/当前工作目录/file.txt
 

1.3 os.path.dirname(path)

作用:返回路径中的目录部分。
示例:

import ospath = '/home/user/documents/file.txt'
directory = os.path.dirname(path)
print(directory)  # 输出:/home/user/documents
 

1.4 os.path.basename(path)

作用:返回路径中的文件名或目录名。
示例:
 
import ospath = '/home/user/documents/file.txt'
filename = os.path.basename(path)
print(filename)  # 输出:file.txtpath = '/home/user/documents/'
dirname = os.path.basename(path)
print(dirname)  # 输出:documents
 

1.5 os.path.exists(path)

作用:判断路径是否存在(文件或目录)。
示例:
 
 
import osprint(os.path.exists('/home/user/documents/file.txt'))  # 输出:True或False,取决于文件是否存在
 

1.6 os.path.isfile(path)和os.path.isdir(path)

作用:判断路径是文件还是目录。
示例:

import osprint(os.path.isfile('/home/user/documents/file.txt'))  # 输出:True或False
print(os.path.isdir('/home/user/documents'))  # 输出:True或False
 

2. 文件操作

2.1 os.rename(src, dst)

作用:重命名文件或目录。
示例:
 
 
import osos.rename('old_name.txt', 'new_name.txt')
 

2.2 os.remove(path)

作用:删除文件。
示例:
 
 
import osos.remove('file_to_delete.txt')
 

2.3 os.replace(src, dst)

作用:替换文件,如果目标文件已存在则覆盖。
示例:
 
 
import osos.replace('source.txt', 'destination.txt')
 

3. 目录操作

3.1 os.mkdir(path, mode=0o777)

作用:创建目录(单级目录)。
示例:

import osos.mkdir('new_directory')
 

3.2 os.makedirs(path, mode=0o777, exist_ok=False)

作用:递归创建目录(多级目录)。
示例:
 
 
import osos.makedirs('parent/child/grandchild')  # 一次性创建三级目录
 

3.3 os.rmdir(path)

作用:删除空目录。
示例:
import osos.rmdir('empty_directory')
 

3.4 os.removedirs(path)

作用:递归删除空目录(从最内层目录开始删除,直到遇到非空目录)。
示例:
 
 
import osos.removedirs('parent/child/grandchild')  # 如果grandchild、child、parent都是空目录,则会被依次删除
 

3.5 os.listdir(path='.')

作用:返回指定目录下的所有文件和目录名(列表形式)。
示例:

import osentries = os.listdir('/home/user/documents')
print(entries)  # 输出:['file1.txt', 'file2.txt', 'directory1', ...]
 

4. 文件和目录属性

4.1 os.stat(path)

作用:返回文件或目录的详细信息(如大小、修改时间等)。
示例:
 
 
import osstat_info = os.stat('file.txt')
print(stat_info.st_size)  # 文件大小(字节)
print(stat_info.st_mtime)  # 最后修改时间(时间戳)
 

4.2 os.chmod(path, mode)

作用:修改文件或目录的权限。
示例:
 
 
import osos.chmod('file.txt', 0o755)  # 修改权限为rwxr-xr-x
 

4.3 os.chown(path, uid, gid)

作用:修改文件或目录的所有者和所属组(需要管理员权限)。
示例:

import osos.chown('file.txt', 1000, 1000)  # 修改所有者和所属组为用户ID 1000
 

5. 当前工作目录

5.1 os.getcwd()

作用:返回当前工作目录。
示例:

import oscwd = os.getcwd()
print(cwd)  # 输出:当前工作目录的路径
 

5.2 os.chdir(path)

作用:改变当前工作目录。
示例:
 
 
import osos.chdir('/home/user/documents')  # 将当前工作目录切换到指定路径
 

6. 环境变量

6.1 os.environ

作用:获取环境变量(字典形式)。
示例:

import osprint(os.environ['PATH'])  # 输出:系统PATH环境变量的值
 

6.2 os.getenv(key, default=None)

作用:获取指定环境变量的值,若不存在则返回默认值。
示例:
 
import oshome_dir = os.getenv('HOME', '/default/path')
print(home_dir)  # 输出:用户主目录路径或默认值
 

7. 执行系统命令

7.1 os.system(command)

作用:执行系统命令,返回命令执行状态(0 表示成功,非 0 表示失败)。
示例:

import osstatus = os.system('ls -l')  # 执行ls -l命令
print(status)  # 输出命令执行状态
 

8. 高级文件操作

8.1 os.walk(top, topdown=True, onerror=None, followlinks=False)

作用:遍历目录树,返回一个三元组(当前目录路径,子目录列表,文件列表)。
示例:

import osfor root, dirs, files in os.walk('/home/user/documents'):print(f"当前目录: {root}")print(f"子目录: {dirs}")print(f"文件: {files}")print("-------------------")
 

9. 注意事项

  1. 路径分隔符:不同操作系统使用不同的路径分隔符(Linux 为/,Windows 为\),建议使用os.path.join()自动处理。
  2. 权限问题:某些操作(如os.chown()、删除受保护文件)需要管理员权限。
  3. 异常处理:文件和目录操作可能引发异常(如文件不存在、权限不足),建议使用try-except块进行异常处理。

import ostry:os.remove('nonexistent_file.txt')
except FileNotFoundError:print("文件不存在")
except PermissionError:print("权限不足")
 

总结

os模块提供了丰富的文件和目录操作方法,能够满足大多数与操作系统交互的需求。在实际开发中,建议结合os.path模块一起使用,以更方便地处理路径相关问题

相关新闻

  • 2025年11月EGUOO男士三氨能量推荐:全网口碑验证千万销量同款矩阵
  • 2025入职背调全方位的推荐排行榜
  • 2025年靠谱的高强度铝合金线槽用户好评厂家排行

最新新闻

  • 北京朝阳区黄金回收头名商家!合扬区域第一,同城评比勇夺头名 - 奢侈品交易观察员
  • 序列检测器(Verilog):从状态机到移位寄存器的工程实践
  • 上海各区黄金回收怎么卖才划算?本地人实测变现全流程攻略 - 逸程
  • 2026万元游戏装机怎么选?就看酷睿Ultra两款,装机不踩坑、性能拉满
  • 黄金回收避坑指南|2026主流平台测评正规交易标准 - 奢侈品交易观察员
  • 兰州瓷砖空鼓松动修复:本地口碑好的 5 家正规靠谱门店推荐 | 卫生间 / 客厅空鼓专修(2026 最新) - 金修达家庭维修

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号