Python中os模块功能与用法详解

本文实例讲述了Python中os模块功能与用法。分享给大家供大家参考,具体如下:

OS模块

Python的os模块封装了常见的文件和目录操作,本文只是列出部分常用的方法,更多的方法可以查看官方文档

下面是部分常见的用法:

方法 说明
os.mkdir 创建目录
os.rmdir 删除目录
os.rename 重命名
os.remove 删除文件
os.getcwd 获取当前工作路径
os.walk 遍历目录
os.path.join 连接目录与文件名
os.path.split 分割文件名与目录
os.path.abspath 获取绝对路径
os.path.dirname 获取路径
os.path.basename 获取文件名或文件夹名
os.path.splitext 分离文件名与扩展名
os.path.isfile 判断给出的路径是否是一个文件
os.path.isdir 判断给出的路径是否是一个目录

例子

后文的例子以下面的目录结构为参考,工作目录为/Users/ethan/coding/python。

 
看看例子:

  • os.path.abspath:获取文件或目录的绝对路径
$ pwd
/Users/ethan/coding/python
$ python
>>> import os             # 记得导入 os 模块
>>> os.path.abspath('hello.py')
'/Users/ethan/coding/python/hello.py'
>>> os.path.abspath('web')
'/Users/ethan/coding/python/web'
>>> os.path.abspath('.')        # 当前目录的绝对路径
'/Users/ethan/coding/python'
  • os.path.dirname:获取文件或文件夹路径
>>> os.path.dirname('/Users/ethan/coding/python/hello.py')
'/Users/ethan/coding/python'
>>> os.path.dirname('/Users/ethan/coding/python/')
'/Users/ethan/coding/python'
>>> os.path.dirname('/Users/ethan/coding/python')
'/Users/ethan/coding'
  • os.path.basename:获取文件名或文件夹名
>>> os.path.basename('/Users/ethan/coding/python/hello.py')
'hello.py'
>>> os.path.basename('/Users/ethan/coding/python/')
''
>>> os.path.basename('/Users/ethan/coding/python')
'python'
  • os.path.splitext:分离文件名与扩展名
>>> os.path.splitext('/Users/ethan/coding/python/hello.py')
('/Users/ethan/coding/python/hello', '.py')
>>> os.path.splitext('/Users/ethan/coding/python')
('/Users/ethan/coding/python', '')
>>> os.path.splitext('/Users/ethan/coding/python/')
('/Users/ethan/coding/python/', '')
  • os.path.split:分离目录与文件名
>>> os.path.split('/Users/ethan/coding/python/hello.py')
('/Users/ethan/coding/python', 'hello.py')
>>> os.path.split('/Users/ethan/coding/python/')
('/Users/ethan/coding/python', '')
>>> os.path.split('/Users/ethan/coding/python')
('/Users/ethan/coding', 'python')
  • os.path.isfile/os.path.isdir:判断当前路径是否是一个文件或文件夹
>>> os.path.isfile('/Users/ethan/coding/python/hello.py')
True
>>> os.path.isdir('/Users/ethan/coding/python/')
True
>>> os.path.isdir('/Users/ethan/coding/python')
True
>>> os.path.isdir('/Users/ethan/coding/python/hello.py')
False
  • os.walk:遍历目录

    os.walk 是遍历目录常用的模块,它返回一个包含 3 个元素的元祖:(dirpath, dirnames, filenames)。dirpath 是以 string 字符串形式返回该目录下所有的绝对路径;dirnames 是以列表 list 形式返回每一个绝对路径下的文件夹名字;filesnames 是以列表 list 形式返回该路径下所有文件名字。

>>> for root, dirs, files in os.walk('/Users/ethan/coding'):
...   print root
...   print dirs
...   print files
...
/Users/ethan/coding
['python']
[]
/Users/ethan/coding/python
['web2']
['hello.py']
/Users/ethan/coding/python/web2
[]
[]

参考资料

关于Python文件操作-Rolle Holt
操作文件和目录-廖雪峰的官方网站

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • python使用os模块的os.walk遍历文件夹示例

    复制代码 代码如下: #-*- coding:utf-8 -*- import os if __name__ == '__main__':    try:    '''traval and list all files and all dirs'''     for root, dirs, files in os.walk('D:' + os.sep + 'Python27'):        print '-------------------directory < ' + root + '

  • python中os模块详解

    os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作.比如说:绝对路径,父目录-- os.sep可以取代操作系统特定的路径分隔符.windows下为 "\\",Linux下为"/" os.linesep字符串给出当前平台使用的行终止符.例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'. os.pathsep 输出用于分割文件路径的字符串,系统使用此字符来分割搜索路径(像PATH),例如POSIX上'

  • Python OS模块实例详解

    本文实例讲述了Python OS模块.分享给大家供大家参考,具体如下: os模块 在自动化测试中,经常需要查找操作文件,比如查找配置文件(从而读取配置文件的信息),查找测试报告等等,经常会对大量文件和路径进行操作,这就需要依赖os模块. 1. os.getcwd() 功能:查看当前所在路径 import os print(os.getcwd()) 2. os.listdir() 列举目录下所有的文件,返回的是列表类型 import os print(os.listdir("c:\file&quo

  • Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析

    本文实例讲述了Python3.5内置模块之os模块.sys模块.shutil模块用法.分享给大家供大家参考,具体如下: 1.os模块:提供对操作系统进行调用的接口 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import os print(os.getcwd()) #获取当前的操作目录,即当前Python脚本工作的目录路径 #os.chdir("F:\\PythonCode\\day5\\test&quo

  • Python OS模块常用函数说明

    Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行. 下面列出了一些在os模块中比较有用的部分.它们中的大多数都简单明了. os.sep可以取代操作系统特定的路径分隔符.windows下为 "\\" os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'pos

  • python os模块简单应用示例

    本文实例讲述了python os模块简单应用.分享给大家供大家参考,具体如下: 举例中的目录形式如下所示: In [36]: pwd Out[36]: '/home/python/Desktop/code' In [37]: ls hello.py hello.txt test.py 文件夹01/ 文件夹02/ 文件夹03/ 1.当前路径及路径下的文件 os.getcwd():查看当前所在路径. os.listdir(path):列举目录下的所有文件.返回的是列表类型. In [1]: impo

  • Python os模块学习笔记

    一.os模块概述 Python os模块包含普遍的操作系统功能.例如文件的复制.创建.修改.删除文件及文件夹... 二.常用方法 1.os.listdir()   返回指定目录下的所有文件和目录名. 2.os.remove()  删除一个文件. 3.os.system()  运行shell命令. 4.os.path.split()   函数返回一个路径的目录名和文件名 5.os.path.isfile()和os.path.isdir()   函数分别检验给出的路径是一个文件还是目录,返回值分别为

  • Python os模块介绍

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os

  • Python学习笔记之os模块使用总结

    复制代码 代码如下: #!/usr/bin/env python ##-*- coding: utf-8 -*-   import os   print "n欢迎大家跟我一起学Python";   system=os.name;                                                                #获取系统的类型 if(system=="nt"):         print "您使用的操作系统是w

  • 基于Python os模块常用命令介绍

    1.os.name---判断现在正在实用的平台,Windows返回'nt':linux返回'posix' 2.os.getcwd()---得到当前工作的目录. 3.os.listdir()--- 4.os.remove---删除指定文件 5.os.rmdir()---删除指定目录 6.os.mkdir()---创建目录(只能创建一层) 7.os.path.isfile()---判断指定对象是否为文件.是则返回True. 8.os.path.isdir()---判断指定对象是否为目录 9.os.p

  • Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    本文实例讲述了Python学习笔记之读取文件.OS模块.异常处理.with as语法.分享给大家供大家参考,具体如下: 文件读取 #读取文件 f = open("test.txt","r") print(f.read()) #打印文件内容 #关闭文件 f.close() 获取文件绝对路径:OS模块 os.environ["xxx"]  获取系统环境变量 os.getcwd 获取当前python脚本工作路径 os.getpid() 获取当前进程ID

  • Python os模块常用方法和属性总结

    这篇文章主要介绍了Python os模块常用方法和属性总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. os 模块常用的方法及属性 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径. os.getenv()和os.putenv:分别用来

随机推荐