Python——os模块文件,目录操作

本文详细介绍了Python的os模块在文件和目录操作中的应用,包括创建目录、删除文件、重命名、判断存在性、切换及获取当前工作目录、遍历目录以及获取文件和子目录名等。实例丰富,有助于提升对Python文件操作的理解。
摘要由CSDN通过智能技术生成

借鉴参考了网上的一些内容,便总结了一下python中os模块的一些使用方法

1.创建目录

import os
os.makedirs('C/python/file1',exist_ok=True)

会在当前工作目录下面创建 C目录,在C目录下面再创建 python目录,在Python目录下面再创建file1目录,exist_ok=True 指定了,如果某个要创建的目录已经存在,也不报错

2.删除文件或目录

os.remove('文件名.py')

3.修改文件名、目录名

这里使用的是os模块的rename函数

import os      
os.rename('d:/tools/first.py','d:/tools/second.py')
#修改文件名: d:/tools/first.py 为 d:/tools/second.py

注:Linux 系统上,如果重命名之前 d:/tools/second.py 已经存在,则会被覆盖,所以使用该函数一定要注意。

4.判断文件、目录是否存在

(1)如果我们需要判断一个指定路径的文件或者目录是否存在,可以使用下面的方法

import os
os.path.exists('d:/systems/cmd.exe')
os.path.exists('d:/systems')

exists方法返回值为True表示 存在,否则表示不存在

(2)如果你要判断指定路径是否是文件,可以这样

import os
os.path.isfile('d:/systems/cmd.exe')
# 返回值为True 表示是文件

(3)如果你要判断指定路径是否是目录,可以这样

import os
os.path.isdir('d:/systems')
# 返回值为True 表示是目录

5.当前工作目录

有时候我们需要得到程序的当前工作目录的路径,可以使用如下代码

cwd = os.getcwd()

如果需要改变当前工作目录到另外的路径,可以使用

os.chdir(path) #path参数就是新的当前工作目录路径地址

6.遍历目录下面所有的文件

(1)可以使用 os库中的walk方法

import os
targetDir = r'd:\tmp\util\dist\check' # 目标目录
files = []
dirs  = []
# 下面的三个变量 dirpath, dirnames, filenames
# dirpath 代表当前遍历到的目录名
# dirnames 是列表对象,存放当前dirpath中的所有子目录名
# filenames 是列表对象,存放当前dirpath中的所有文件名
for (dirpath, dirnames, filenames) in os.walk(targetDir):
    files += filenames
    dirs += dirnames
print(files)
print(dirs)

(2)如果要得到某个目录下所有文件的全路径可以这样

import os
targetDir = r'd:\tmp\util\dist\check' # 目标目录
for (dirpath, dirnames, filenames) in os.walk(targetDir):
    for fn in filenames:
        # 把 dirpath 和 每个文件名拼接起来 就是全路径
        fpath = os.path.join(dirpath, fn)

7.得到目录中所有的文件和子目录名

import os
targetDir = r'd:\tmp\util\dist\check' # 目标目录
files =  os.listdir(targetDir)
print(files)

listdir返回的是该目录下面所有的文件和子目录,如果我们只需要获取目录中所有的文件,或者只需要子目录,可以这样

import os
from os.path import isfile, join,isdir
targetDir = r'd:\tmp\util\dist\check' # 目标目录
print([f for f in os.listdir(targetDir) if isfile(join(targetDir, f))])# 所有的文件
print([f for f in os.listdir(targetDir) if isdir(join(targetDir, f))]) # 所有的目录

今天的分享就到这里了,希望对你有所帮助😃

这一生,风雨兼程,就是为了遇见最好的自己。前方浩浩荡荡,万事皆可期待。💗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值