Python-文件简单练习

这篇博客介绍了两个Python文件操作的练习。第一个练习涉及创建一个名为data.txt的文件,其中包含100000行1到100的整数。第二个练习涉及在当前目录下创建一个img目录,包含100个不同名称的.png文件,并将所有.png文件的扩展名改为.jpg。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习一:
  • 题目:创建文件data.txt,文件共100000行,每行存放一个1~100之间的整数,写完后读取文件内容
  • 程序内容:
import random

with open('data.txt','w+') as f1:
  for i in range(10000):
    f1.write(str(random.randint(1,100))+'\n')
  f1.seek(0)
  print(f1.read())
  • 测试:
    在这里插入图片描述
    在这里插入图片描述
练习二:
  • 题目要求:
    1.在当前目录新建目录img, 里面包含100个文件, 100个文件名各不相同(X4G5.png)
    2.将当前img目录所有以.png结尾的后缀名改为.jpg.
  • 程序内容:
import os
import string
import random

def gen_code(len=4):
    # 随机生成4位的验证码
    li = random.sample(string.ascii_letters + string.digits, len)
    return ''.join(li)
def create_file():
    # 随机生成100个验证码
    li = {gen_code() for i in range(100)}
    os.mkdir('img')
    for name in li:
        os.mknod('img/' + name + '.png')

# create_file()

def modify_suffix(dirname, old_suffix, new_suffix):    
    """
    :param dirname:操作的目录
    :param old_suffix: 之前的后缀名
    :param new_suffix: 新的后缀名
    :return:
    """
    # 1.判断查找的目录是否存在,如果不存在,报错
    if os.path.exists(dirname):
        # 2.找出所有以old_suffix(.png)结尾的文件
        pngfile = [filename for filename in os.listdir(dirname) if filename.endswith(old_suffix)]
        # 或者用以下的方式
        # pngfiles = filter(lambda filename:filename.endswith(old_suffix),os.listdir(dirname))
        # 3.将文件名和后缀名分开,留下文件名
        basefiles = [os.path.splitext(filename)[0] for filename in pngfile]
        print(basefiles)
        # 4.文件重命名
        for filename in basefiles:
            #需要加上目录名
            oldname = os.path.join(dirname,filename+old_suffix)
            newname = os.path.join(dirname,filename+new_suffix)
            os.rename(oldname,newname)
            print('%s命名为%s成功' %(oldname,newname))
    else:
        print('%s不存在,不能操作....' %(dirname))

modify_suffix('img','.jpg','.png')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值