目录和文件操作

在自己电脑任一盘符中新建以OS_Test命名的文件夹,并在该文件夹中新建新建3个以.txt,3个 .xlsx为扩展名的文件(文件名由代码随机生成,长度为8,由字母数字组成)。,请写一个程序,删除掉OS_Test目录里面(不包含子目录)所有的扩展名为.txt的文件,并将删除掉的文件名称打印出来。
import os
import random
str_1='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
os.mkdir(r"D:\OS_Test")          #建立目录
str_3=""                         #初始化
for i in range(3):               #三个.txt文件
    str_2=random.choices(str_1,k=8)#获取字母数字组合中的随机一个
    for j in range(8):
        str_3=str_2[j]+str_3#零散的字符串拼接
    str_3="D:\\OS_Test\\" + str_3 +".txt"#路径拼接
    file=open(str_3,'x')#建立新文件
    file.close()
    str_3=""
for i in range(3):#三个.xlsx文件
    str_2=random.choices(str_1,k=8)
    for j in range(8):
        str_3=str_2[j]+str_3
    str_3="D:\\OS_Test\\"+str_3 +".xlsx"
    file=open(str_3,'x')
    file.close()
    str_3 = ""
directory = os.listdir(r"D:\OS_Test")#获取该目录下所有文件
for f in directory:
    ext = os.path.splitext(f)[1]#获取文件的后缀
    if ext == ".txt":#如果为.txt
        os.remove(os.path.join(r"D:\OS_Test", f))#删除
        print("删除文件:", f)

运行结果:

删除文件: 9bWYthAE.txt
删除文件: cL6pmyvx.txt
删除文件: CNgE6Tea.txt

对于os.mkdir,如果已经有了同名的目录,再新建会报错。

splitext是Python中的一个内置函数,用于将文件名与文件扩展名分离,返回一个元组。

其中选用choices的原因是因为:

choices随机获取元素时可以包含重复元素,也就是一个元素有可能会出现多次。
sample随机获取元素时不可以包含重复元素,也就是一个元素只能出现一次。
当在获取元素时,k值大于被获取对象的长度时,choices就不会报错,但是sample就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值