【python简单练习】给定一个txt文档,每行存放一个网络图片链接。将这些图片全部下载保存到本地

txt文档如图:
在这里插入图片描述

思路:

1、逐行读取文档中每一个链接
2、request请求通过get方式获取链接内容
3、将获取的内容以图片格式保存到本地

踩坑备忘:

1、获取文档内的某行内容可使用readline()方法:

操作文件的三个函数read(),readline()以及readlines():

  • .read() 每次读取整个文件,它通常将读取到底文件内容放到一个字符串变量中,也就是说 .read() 生成文件内容是一个字符串类型。
  • .readline()每只读取文件的一行,通常也是读取到的一行内容放到一个字符串变量中,返回str类型。
  • .readlines()每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型。
f = open("C:/Users/11206/Desktop/a.txt") # 返回⼀个⽂件对象
line = f.readline() # 调⽤⽂件的 readline()⽅法
2、逐行读取可使用while函数,将每一行内容循环赋值给变量
3、循环时先请求再访问下一行,否则会有一次请求没有readline的值,导致请求报错且缺少第一行的文件
line = f.readline()
while line:
    response = requests.get(url=line)
    line =f.readline()
4、图片名称可使用参数或随机数命名,避免生成同名文件,内容被覆盖

python3中%d表示将参数格式化为整数。使用%d时可以在“d”前加数值来设置参数格式化后整数的位数。

i=1
print("%d.jpg" % i) #参数的用法

with open("C:/Users/11206/Desktop/BCP/%d.jpg" % i, 'wb') as m: #生成在指定路径下
with open("C:/Users/11206/Desktop/BCP/%d.jpg" % i, 'wb') as m: #生成在python文件同级目录下

完整代码:

#-*- coding: UTF-8 -*-
import  requests

f = open("C:/Users/11206/Desktop/a.txt") # 返回⼀个⽂件对象
line = f.readline() # 调⽤⽂件的 readline()⽅法
i=0
while line:
    i += 1
    print(line)#第一行
    response = requests.get(url=line)
    line =f.readline()
    print(line)#下一行

    with open("C:/Users/11206/Desktop/%d.jpg" % i, 'wb') as m:
        m.write(response.content)
f.close()

print("ok")

运行结果:

在这里插入图片描述
本地:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值