os模块的增删改查操作

在准备编写selenium相关的博客之前(即使网上有很多相关的selenium模块的介绍),还是带着自己复习一下os模块的相关操作,毕竟这个模块还是挺重要的,无论写什么都绕不开这个模块。

目录

创建目录

删除文件/目录

查询文件/目录

修改文件名

 


增:首先你得创建一个目录为以后的删除打个底

import os

# os.makedirs
# path可以为绝对路径,也可以为相对路径
os.makedirs(r'D:\python代码\os操作\demo')
# 相对路径,则是在当前操作的.py文件同级创建指定路径
os.makedirs(r'os操作\demo')

# 注意:假如该路径下已有同名文件则会报OSError
# 在默认情况下,exist_ok默认为False,如重复创建则会报错
os.makedirs(r'os操作\demo', exist_ok=True)    # 无则增,有增不操作

删:删除文件/目录

import os

# os.py
# os.remove(): 用于删除指定路径下的指定文件,path也可以为绝对路径和相对路径
# “D:\python代码\os操作\demo\”该路径已经创建完毕,并在demo文件夹下创建一个1.py文件
os.remove(r'D:\python代码\os操作\demo\1.py')    
# 有则删除、无则报错:(FileNotFoundError)

# os.removedirs():用于删除指定的多级目录,但必须该目录下为空目录。有文件则报错:OSError
os.removedirs(r'D:\python代码\os操作\demo')


# nt.py
# os.unlink():此方法不属于os.py文件,而是在nt.py文件中
os.unlink(r'D:\python代码\os操作\demo\1.py')     # 在windows上效果与os.remove()相同,二者具体的区别在Unix操作系统上

# os.rmdir():用于删除路径的目录,并且目录为空目录。否则, 抛出OSError。
os.rmdir(r'D:\python代码\os操作\demo')

总结一下:Windows中推荐使用删除文件用os.remove(),删除空目录用os.removerdirs()。Unix操作系统中推荐使用删除指定文件用os.unlink(),删除空目录用os.rmdir()。详情请见:remove()和unlink()区别


小案例演示

通过这个小案例,来将一下上面的操作连续走一遍

import os

# 1、通过绝对路径创建文件夹
os.makedirs(r'D:\python代码\os操作\demo')

# 2、手动在demo文件夹下创建一个1.py文件

# 3、使用os.remove()删除1.py文件
os.remove(r'D:\python代码\os操作\demo\1.py')

# 4、此时的demo为空文件夹,使用removedirs()删除多层空文件夹
os.removedirs(r'D:\python代码\os操作\demo')

# 5、此时“D:\python代码”文件夹  下再无  “os操作\demo”

假如觉得上述方法操作不简便的可以参考下面这个方法!!!

import os
import shutil    # shutil以后会提到

# 1、通过绝对路径创建文件夹
os.makedirs(r'D:\python代码\os操作\demo')

# 2、手动在demo文件夹下创建一个1.py文件

# 3、递归删除指定目录下的所有子目录和子文件
# 将os操作文件夹所有内容全部删除掉
shutil.rmtree(r'D:\python代码\os操作')

查:查文件名得在改操作的前面,先得知道文件夹下有哪些文件,才好指定需删除的文件。

更多详情查看:python获取文件夹下所有文件及os模块方法

import os


# os.listdir():可以用来查询指定路径下的文件/文件夹
for filename in os.listdir(r'D:\python代码\os操作'):
    print(filename)

# os.walk(): 采用递归方式遍历指定路径下的所有内容
# 返回结果:dirpath, dirnames, filenames
# dirpath is a string, the path to the directory.
# dirnames is a list of the names of the subdirectories in dirpath
# filenames is a list of the names of the non-directory files in dirpath.

for i in os.walk(r'D:\python代码\os操作'):
    print(i)

#('D:\\python代码\\os操作', ['demo', 'demo1'], [])
#('D:\\python代码\\os操作\\demo', ['demo'], ['0.txt', '1.txt', '2.txt', '3.txt', '4.txt'])
#('D:\\python代码\\os操作\\demo\\demo', [], [])
#('D:\\python代码\\os操作\\demo1', [], [])

改:大多情况为修改文件名,os提供了os.rename()和os.renames()

import os
path = "e:/test/"    # 目标路径
 
"""os.listdir(path) 操作效果为 返回指定路径(path)文件夹中所有文件名"""
filename_list = os.listdir(path)  # 扫描目标路径的文件,将文件名存入列表

a = 0
for i in filename_list:
    used_name = path + filename_list[a]
    new_name = path + "new_" + filename_list[a]
    os.rename(used_name,new_name)
    print("文件%s重命名成功,新的文件名为%s" %(used_name,new_name))
    a += 1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值