Python的os模块的一些常见文件和目录操作

Posted taolusi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的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

Users/ethan
└── coding
    └── python
        ├── hello.py    - 文件
        └── web         - 目录

看看例子:

  • os.path.abspath:获取文件或目录的绝对路径
 1 $ pwd
 2 /Users/ethan/coding/python
 3 $ python
 4 >>> import os                          # 记得导入 os 模块
 5 >>> os.path.abspath(hello.py)
 6 /Users/ethan/coding/python/hello.py
 7 >>> os.path.abspath(web)
 8 /Users/ethan/coding/python/web
 9 >>> os.path.abspath(.)                # 当前目录的绝对路径
10 /Users/ethan/coding/python
  • os.path.dirname:获取文件或文件夹的路径
1 >>> os.path.dirname(/Users/ethan/coding/python/hello.py)
2 /Users/ethan/coding/python
3 >>> os.path.dirname(/Users/ethan/coding/python/)
4 /Users/ethan/coding/python
5 >>> os.path.dirname(/Users/ethan/coding/python)
6 /Users/ethan/coding
  • os.path.basename:获取文件名或文件夹名
1 >>> os.path.basename(/Users/ethan/coding/python/hello.py)
2 hello.py
3 >>> os.path.basename(/Users/ethan/coding/python/)
4 ‘‘
5 >>> os.path.basename(/Users/ethan/coding/python)
6 python
  • os.path.splitext:分离文件名与扩展名
1 >>> os.path.splitext(/Users/ethan/coding/python/hello.py)
2 (/Users/ethan/coding/python/hello, .py)
3 >>> os.path.splitext(/Users/ethan/coding/python)
4 (/Users/ethan/coding/python, ‘‘)
5 >>> os.path.splitext(/Users/ethan/coding/python/)
6 (/Users/ethan/coding/python/, ‘‘)
  • os.path.split:分离目录与文件名
1 >>> os.path.split(/Users/ethan/coding/python/hello.py)
2 (/Users/ethan/coding/python, hello.py)
3 >>> os.path.split(/Users/ethan/coding/python/)
4 (/Users/ethan/coding/python, ‘‘)
5 >>> os.path.split(/Users/ethan/coding/python)
6 (/Users/ethan/coding, python)
  • os.path.isfile/os.path.isdir
1 >>> os.path.isfile(/Users/ethan/coding/python/hello.py)
2 True
3 >>> os.path.isdir(/Users/ethan/coding/python/)
4 True
5 >>> os.path.isdir(/Users/ethan/coding/python)
6 True
7 >>> os.path.isdir(/Users/ethan/coding/python/hello.py)
8 False
  • os.walk

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

 1 >>> for root, dirs, files in os.walk(/Users/ethan/coding):
 2 ...     print root
 3 ...     print dirs
 4 ...     print files
 5 ...
 6 /Users/ethan/coding
 7 [python]
 8 []
 9 /Users/ethan/coding/python
10 [web2]
11 [hello.py]
12 /Users/ethan/coding/python/web2
13 []
14 []

 

 

以上是关于Python的os模块的一些常见文件和目录操作的主要内容,如果未能解决你的问题,请参考以下文章

python os 模块

学习笔记——os模块常见列表

python中os模块和sys模块的常见用法

python基础之文件读写

python os模块一些常用操作

python 常用模块之random,os,sys 模块