Python os模块文件与路径管理实战指南

周叙
周叙
发布时间:2026-10-15 | 3人浏览过
原创

本文深入解析Python标准库os模块在文件与路径管理中的核心应用。涵盖os.path模块对路径的拆分(split、basename等)与拼接(join、abspath等)操作,介绍如何获取文件属性(大小、时间戳),并演示使用chmod和access进行文件权限修改与判断。通过具体代码示例,帮助开发者编写跨平台、健壮的文件处理程序。

os模块概述与跨平台优势

作为Python的标准库组件,os模块封装了操作系统的API,提供统一的接口以访问不同操作系统下的相同功能。该模块涵盖了与系统环境、文件系统、用户数据库及权限交互的各类函数。充分利用os模块,开发者能够轻松编写出具备跨平台兼容性的应用程序。

路径拆分函数详解

path = os.getcwd()
print(path)
print(os.listdir('.'))#显示当前目录下的文件及文件夹

为了有效管理文件和路径,os.path模块提供了大量用于拆分路径的函数。以下是该模块中与路径拆分相关的主要函数列表:

  • 1、split:该函数返回一个包含两个元素的元组,分别对应文件的路径部分和文件名部分;
  • 2、dirname:该函数用于提取并返回文件所在的路径部分;
  • 3、basename:该函数用于提取并返回文件的名称部分;
  • 4、splitext:该函数返回一个二元组,分别包含去除扩展名后的文件路径部分以及扩展名本身。

路径构建与拼接方法

import os

path = os.getcwd()
print(path)
print(os.listdir('.'))#显示当前目录下的文件及文件夹
path = r"d:\test\log.log"
print(os.path.split(path))#分为路径和文件名
print(os.path.dirname(path))#返回文件路径
print(os.path.basename(path))#返回文件名
print(os.path.splitext(path))#返回路径文件名和扩展名

除了拆分,os.path模块还包含了构建路径的实用函数。其中最为常用的是expanduser、abspath以及join这三个函数:

  • 1、expanduser:用于展开用户的主目录(HOME目录);
  • 2、abspath:用于获取文件或路径的绝对路径字符串;
  • 3、join:根据当前操作系统的平台特性,使用正确的路径分隔符将多个路径片段拼接成一个完整路径。

文件属性获取技巧

print(os.path.expanduser('~'))
print(os.path.abspath('.'))
print(os.path.join('test','a.py'))

此外,os.path模块还提供了一系列用于获取文件属性的函数,包括查询文件的创建时间、修改时间及文件大小等信息:

  • 1、getatime:用于获取文件最后一次被访问的时间;
  • 2、getmtime:用于获取文件最后一次被修改的时间;
  • 3、getctime:用于获取文件的创建时间;
  • 4、getsize:用于获取文件的大小(字节数)。

文件与目录基础操作

os模块还包含了针对文件和目录进行基础操作的函数,例如创建目录、删除目录、删除文件以及重命名文件等:

  • 1、remove:用于删除由path路径所指向的文件;
  • 2、rmdir:用于删除由path路径所指向的文件夹。注意,该文件夹必须为空,否则将引发错误;
  • 3、mkdir:用于创建一个新的文件夹;
  • 4、rename:用于重命名文件或文件夹。

os模块还包含了用于修改文件权限和判断文件权限的函数,即chmod和access。

其中,chmod函数用于修改文件的权限设置,而access函数则用于判断文件是否具备相应的访问权限。

os模块还提供了三个常量来表示读、写及可执行权限,分别为R_OK、W_OK和X_OK。

文件权限管理与判断

import os,sys,stat

filename = 'log.log'
if not os.path.isfile(filename):
    print("file not exists")
elif not os.access(filename,os.R_OK):
    os.chmod(filename, stat.S_IRUSR)
else:
    print("access yes")

至此,关于Python文件与路径管理方法的介绍已完成。如需了解更多相关Python文件与路径管理内容,建议搜索本站历史文章或继续浏览后续相关文章。感谢大家的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表