# 文件保存路径 file_path = './test' create_file(file_path) # 获取图片 for i in img_list: try: img_url = i.xpath('./@src')[0] except: img_url = i.xpath('./@data-src')[0] # 文件名称 file_name = f'{file_path}/page_{cnt}.jpg' print(file_name, img_url) # 下载保存图片 resp = requests.get(img_url) with open(file_name, 'wb') as f: f.write(resp.content) cnt += 1修改这部分代码,使得存储文件名和路径分开来
时间: 2024-03-21 10:40:46 浏览: 17
要将存储文件名和路径分开来,可以在 `file_path` 和 `file_name` 中分别使用不同的变量来构造。具体来说,可以定义一个变量 `file_dir` 来存储文件夹路径,再根据当前图片序号 `cnt` 构造出文件名 `file_name`,然后将 `file_dir` 和 `file_name` 合并起来得到完整的文件路径。
修改后的代码如下:
```python
# 文件保存路径
file_dir = './test'
create_file(file_dir)
# 获取图片
cnt = 0
for i in img_list:
try:
img_url = i.xpath('./@src')[0]
except:
img_url = i.xpath('./@data-src')[0]
# 文件名称
file_name = f'page_{cnt}.jpg'
print(file_name, img_url)
# 下载保存图片
resp = requests.get(img_url)
file_path = os.path.join(file_dir, file_name) # 合并文件路径
with open(file_path, 'wb') as f:
f.write(resp.content)
cnt += 1
```
这样,存储文件名和路径就被分开来了,文件名和路径的构造也更加清晰易懂。
相关问题
file_path = './world1/' create_file(file_path) # 获取图片 for i in img_list: try: img_url = i.xpath('./@src')[0] except: img_url = i.xpath('./@data-src')[0] # 文件名称 file_name = f'{file_path}page_{cnt}.jpg' print(file_name, img_url) # 下载保存图片 resp = requests.get(img_url) with open(file_name, 'wb') as f: f.write(resp.content) cnt += 1
这是一个Python代码片段,它使用了Requests库和lxml库中的etree模块来下载并保存图片。具体来说,它首先调用前面提到的create_file函数来创建一个名为'./world1/'的文件夹,用于存储下载的图片。然后,它遍历前面提到的img_list列表中的所有img元素,使用XPath表达式获取每个img元素的src或data-src属性值,用于下载图片。接着,它为每个下载的图片生成一个文件名,格式为'./world1/page_{cnt}.jpg',其中{cnt}递增,用于区别不同的图片。然后,它使用requests库发送GET请求,下载图片并将其保存在生成的文件中。最后,它递增计数器cnt,用于生成下一个文件名。这段代码的作用是下载并保存HTML中所有class属性为"mod flow-ppt-mod"的div元素下的img元素的图片。
import os import pandas as pd # 设置文件夹路径 folder_path = 'C:/yh/PycharmProjects/study/A5204990500002023050006' # 获取文件夹中的所有文件名 file_names = os.listdir(folder_path) # 过滤出所有Excel文件名 excel_files = [file for file in file_names if file.endswith('.xlsx') or file.endswith('.xls')] # 循环读取所有Excel文件 for file in excel_files: # 拼接文件路径 file_path = os.path.join(folder_path, file) # 使用pandas读取Excel文件 df = pd.read_excel(file_path,engine='openpyxl') # 处理读取的Excel表格 # ...
这段代码的功能是读取文件夹`C:/yh/PycharmProjects/study/A5204990500002023050006`中的所有Excel文件,并使用`pandas`库读取这些Excel文件。
具体来说,代码首先使用`os.listdir`函数获取文件夹中的所有文件名,然后使用列表推导式过滤出所有Excel文件名,并循环读取每个Excel文件。在循环中,代码使用`os.path.join`函数拼接文件路径,然后使用`pd.read_excel`函数读取Excel文件。需要注意的是,代码使用`engine='openpyxl'`指定了读取Excel文件所需的引擎为`openpyxl`,这是因为该文件中可能包含一些`xlrd`无法处理的特殊格式。
在读取Excel文件后,您可以在处理读取的Excel表格的代码块中进行必要的处理。