## Python 中的反斜杠:为什么我的图像路径变成了 http:\\\\/\\\\/img1.zabao.cn\\\\/pimages?
python 的特殊反斜杠问题解析
在编写 python 代码时,您可能会遇到反斜杠()处理上的奇怪现象。本文将解释这种现象并提供解决方案。
完整代码如下:
from csv import dictwriter, writer import time options = webdriver.chromeoptions() options.add_experimental_option("excludeswitches", ['enable-automation', 'enable-logging']) browser = webdriver.chrome(options=options) def write_csv(url='http://www.alaibao.cn/productdetail-83.html'): browser.get(url) slider_images = browser.find_elements_by_css_selector('#j_ulthumb li:not(#j_videothumb)') slider_image = [] image = '' for v in slider_images: img = v.find_element_by_css_selector('.tb-pic img') slider_image.append(img.get_attribute('bimg').replace('/', r'\/')) image = slider_image[0].replace(r'\/', '/') with open('product.csv', 'a', newline='') as f: csv_writer = dictwriter(f, fieldnames=['store_name', 'store_info', 'price', 'cost', 'image', 'recommend_image', 'slider_image']) csv_writer.writeheader() csv_writer.writerow({'store_name': 'store', 'store_info': 'info', 'price': '10.9', 'cost': '5.5', 'image': image, 'recommend_image': image, 'slider_image': slider_image}) write_csv()
问题:
代码生成的图像路径类似于 http:\/\/img1.zabao.cn\/pimages,而不是预期的 http://img1.zabao.cn/pimages。
解决:
出现这种问题是因为 replace('/', '/') 的用法不正确。在 python 中,反斜杠用于转义特殊字符,因此为了转义反斜杠自身,需要使用原始字符串,即 r'/' 或者 '\/'。
修改后的代码如下:
slider_images = browser.find_elements_by_css_selector('#J_UlThumb li:not(#J_VideoThumb)') slider_image = [] image = '' for v in slider_images: img = v.find_element_by_css_selector('.tb-pic img') slider_image.append(img.get_attribute('bimg').replace('/', r'\/')) image = slider_image[0].replace(r'\/', '/')
以上就是## Python 中的反斜杠:为什么我的图像路径变成了 http:\\\\/\\\\/img1.zabao.cn\\\\/pimages?的详细内容,更多请关注其它相关文章!