python中文件目录操作的常见方法

2020-05-11 14:05:01 浏览数 (2)

在实际开发中,除了掌握文件读写的基本操作,还需要熟练地对文件和目录进行操作,比如创建目录,判断文件是否存在等等, 在os和os.path这两个内置模块中,提供了基本的操作方法。首先来看下os.path提供的几个常用功能

1. 获取文件所在目录和文件名

相关函数如下

代码语言:javascript复制
>>> import os.path
# split 用于拆分路径
# 返回目录和文件名构成的元组
>>> os.path.split('/dir1/dir2/test.py')
('/dir1/dir2', 'test.py')
# dirname 返回目录
>>> os.path.dirname('/dir1/dir2/test.py')
'/dir1/dir2'
# basename返回文件名
>>> os.path.basename('/dir1/dir2/test.py')
'test.py'
# join函数用于生成文件路径
>>> os.path.join('/dir','dir2', 'test.py')
'/dir/dir2/test.py'

2. 获取文件所在的绝对路径

通过abspath函数来实现,用法如下

代码语言:javascript复制
>>> os.path.abspath('./test.py')
'/dir/dir2/test.py'

3. 判断文件和目录是否存在

通过exists函数来实现,用法如下

代码语言:javascript复制
>>> os.path.exists('./test.py')
True
>>> os.path.exists('./')
True

4. 判断文件是否为空

getsize函数返回以字节为单位的文件大小,用法如下

代码语言:javascript复制
>>> os.path.getsize('./test.py')
297

5. 判断是文件还是目录

isfile函数判断是否为文件,isdir函数判断是否为目录,用法如下

代码语言:javascript复制
>>> os.path.isfile('./test.py')
True
>>> os.path.isdir('./')
True

创建目录等操作则通过os模块来实现,常见的用法如下

1. 创建目录

mkdir函数创建单个目录,makedirs函数递归创建目录,用法如下

代码语言:javascript复制
>>> import os
>>> os.mkdir('test')
# 当已经存在时,会报错
>>> os.mkdir('test')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileExistsError: [Errno 17] File exists: 'test'
>>> os.makedirs('test/test')

2. 删除文件和目录

remove函数删除文件,rmdir函数删除目录,用法如下

代码语言:javascript复制
>>> os.remove('test.py')
>>> os.rmdir('./test/test')

3. 列出目录下的所有文件和目录

通过listdir函数实现,用法如下

代码语言:javascript复制
>>> os.listdir('./')
['test.py', 'test1.py']

以上只是常见的几种操作方法,更多的操作方法请查看官方文档。

0 人点赞