Python目录操作

《Python目录操作》

简介

通常情况下,我们能够手动对一些目录进行操作。但是有时候碰到大量重复的操作,比如:重命名一批目录或文件。此时,当然要使用python啦。python自带的os库就能够完成大部分目录操作,通过其他库甚至能直接调用Linux系统下的命令,可以说使用起来非常方便。在本文中将介绍目录的操作方法,以供参考。

目录路径

在讲目录操作之前,首先要区分绝对路径相对路径的概念:

  • 绝对路径:是指从磁盘的根目录开始定位,直到对应的位置为止。比如r"F:\文件操作\"就是一个绝对路径(当使用\时,最好在路径前加r,或者使用/\\,就不存在这个问题)。
  • 相对路径:是指从当前所在路径开始定位,直到对应的位置为止。用.表示当前目录,用..表示上级目录。比如:"../目录操作/"就是一个相对路径,表示跟文件操作目录同级的目录操作目录。

接下来就介绍一些常用的目录操作命令。

获取当前目录位置

获取当前目录位置的命令是:

首先导入os库,接着调用getcwd()方法。

代码演示:

结果为:

我们就获得了当前所在目录的位置。

创建目录

创建目录的命令如下:

通过调用mkdir()方法创建一个目录,括号中就是目录所在的路径,可以使用绝对路径或相对路径。

代码演示:

这样我们就在F:盘下创建了一个叫finthon的目录。

目录重命名

有时候我们需要修改某个目录的名字,可以使用以下命令实现:

通过调用rename()方法重命名该目录。

代码演示:

于是,我们就将finthon目录重命名为python

获取目录下的所有文件

通过listdir()方法能够得到一个目录下所有内容(文件和文件夹)名字的列表。命令如下:

代码演示:

可以看出我们得到了包含一个目录下的所有文件和目录名的列表。于是可以使用列表常用的操作来处理。

删除目录

删除目录的命令如下:

需要注意的是,rmdir()命令只能删除空文件夹,如果文件夹中包含内容,则会报错,必须先将文件夹中的文件删除,再删除文件夹。

代码演示:

此时就将finthon目录删除了。

os.path模块

这个模块在我日常使用过程中频率较高,所以单独拿出来讲一下基本操作。

连接目录和文件名:

格式如下:

例如:

其实就等价于content_name + file_name,这个命令很实用,我们可以批量返回某目录下的所有文件的路径。

代码演示:

通过以上代码,我们就得到了一个包含所有文件绝对路径的列表。

判断目录是否存在:

格式如下:

判断一个目录是否存在,这个命令经常跟os.mkdir()方法一起使用来自动生成目录。

代码演示:

首先通过os.path.exists()判断这个路径是否存在,如果不存在,就使用os.mkdir()方法创建这个目录。

目录操作方法总结

方法 描述
os.access(path, mode) 检验权限模式
os.chdir(path) 改变当前工作目录
os.chmod(path, mode) 更改权限
os.chown(path, uid, gid) 更改文件所有者
os.chroot(path) 改变当前进程的根目录
os.getcwd() 返回当前工作目录
os.getcwdu() 返回一个当前工作目录的Unicode对象
os.link(src, dst) 创建硬链接,名为参数 dst,指向参数 src
os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表
os.lstat(path) 像stat(),但是没有软链接
os.makedirs(path[, mode]) 递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹
os.mkdir(path[, mode]) 以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)
os.mkfifo(path[, mode]) 创建命名管道,mode 为数字,默认为 0666 (八进制)
os.path 模块 获取文件的属性信息
os.remove(path) 删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory
os.removedirs(path) 递归删除目录
os.rename(src, dst) 重命名文件或目录,从 src 到 dst
os.renames(old, new) 递归地对目录进行更名,也可以对文件进行更名
os.rmdir(path) 删除path指定的空目录,如果目录非空,则抛出一个OSError异常
os.stat(path) 获取path指定的路径的信息,功能等同于C API中的stat()系统调用
os.symlink(src, dst) 创建一个软链接
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) 输出在文件夹中的文件名通过在树中游走,向上或者向下

总结

本文详细地介绍了一些常用的目录操作,熟练掌握这些方法真的可以事半功倍,配合文件操作就能真正地联通线上线下。

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注

2 × 1 =