python脚本处理事务例子

起因

由于公司需求,需要从公司后台批量下载识别异常图片的图片压缩包,如果手动下载的话需要每个链接进行手动更改,对于链接手动更改的话容易看的头晕眼花,并且对于大批量压缩包下载的话效率很低,所以我想到将该项多重复机械化的操作用python完成。

分析

首先分析后台链接:从公司系统鼠标右键获取图片链接在这里插入图片描述
将链接写入old_address.txt文件,一个链接一行,然后拼接链接,将新地址写入new_address.txt,可以看到两个链接就开头跟结尾有点不同,所以我们进行字符串简单处理一下就行了。
在这里插入图片描述

字符处理

def get_new_url():
    old_url=''
    new_url=''
    with open('old_address.txt','r') as fr:
            for line in fr.readlines():
                old_url=line
                # 拼接新地址
                old_url=old_url[0:16]+'-image-production-'+line[23:]
                pattern = r'[/]'                      # 定义分隔符
                result = re.split(pattern, old_url) # 以pattern的值 分割字符串
                new_url+=old_url.replace('/'+result[-1],'.zip\n')
    with open('new_address.txt','w') as fr:
        fr.write(new_url)
    print('网址拼接成功')

步骤

  • 系统手动获得链接写入txt,处理链接,写入txt。
  • 按行读取链接,下载zip文件
  • 批量解压文件
  • 需要将图片上传后台,要求文件名不能有空格,批量重命名文件

将两链接处理完写入txt文件后开始下载测试一下。

old_address.txt

在这里插入图片描述

new_address.txt

在这里插入图片描述

下载测试

def get_zip():
    #获取新网址
    get_new_url()
    if not os.path.exists('zip'):
          os.makedirs('zip')
    with open('new_address.txt','r') as fr:
        for line in fr.readlines():
            try:
                line=line.strip('\n')
                file_name=line.split('/')[-1:][0]
                r = requests.get(line)
                with open("zip/%s"%file_name, "wb") as fr:
                     fr.write(r.content)
                time.sleep(2)
                print('下载压缩文件成功')
            except:
                continue
    un_zip()
    print('批量解压完成')

批量解压

def un_zip():
    """
    批量解压文件
    """
    filelist=os.listdir('zip')
    for i in filelist:
        zip_file = zipfile.ZipFile(r'zip/%s'%i)
        for names in zip_file.namelist():
            zip_file.extract(names,'unzip/'+i)
        zip_file.close()

批量重命名

#批量重命名文件
def new_file_name():
    filelist=os.listdir('06.23lingshiyichangchongkuang')
    path=r"C:\Users\Administrator\Desktop\get_error_img\06.23lingshiyichangchongkuang"
    n=10
    for i in filelist:
        i='\\%s'%i
        #设置新文件名
        newname='\\%s'%(str(n)+'.jpg')
        #用os模块中的rename方法对文件改名
        os.rename(path+i,path+newname)
        n+=1

使用帮助

"""
使用方法

首先在智能系统复制图片路径写入old_address.txt一个链接一行
然后看目录下是否有zip与unzip文件,有的话将其删除,没有就不用管
然后点击运行自动下载解压
下载完成后需要自己手动将unzip文件夹中的每个文件夹下的四张图片复制到一个文件夹下,然后运行批量重命名文件,需要自己手动改路径
因为标注系统不能有空格名,windows重命名会带空格

"""

项目文件

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能视界探索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值