def takeScreenshot(self, savePath, pictureName): picturePath = os.path.join(savePath, pictureName + '.png') try: self.driver.get_screenshot_as_file(picturePath) except Exception as e: print(traceback.print_exc()) 这段代码怎么自动创建文件夹呢?
时间: 2024-03-16 16:47:41 浏览: 128
这段代码并没有自动创建文件夹的功能。如果 `savePath` 所指定的文件夹不存在,`os.path.join(savePath, pictureName + '.png')` 方法会抛出异常。如果想要实现自动创建文件夹的功能,可以在调用 `takeScreenshot()` 方法前,先使用 `os.makedirs(savePath, exist_ok=True)` 创建文件夹,如果文件夹已经存在,则不会抛出异常。修改后的代码如下:
```
def takeScreenshot(self, savePath, pictureName):
os.makedirs(savePath, exist_ok=True)
picturePath = os.path.join(savePath, pictureName + '.png')
try:
self.driver.get_screenshot_as_file(picturePath)
except Exception as e:
print(traceback.print_exc())
```
相关问题
def save2txt(path, savepath='labels.txt'): print(os.path.exists(path)) with open(savepath, 'w') as t: imgfiles = glob.iglob(os.path.join(path, '**/*.tif'), recursive=True) for imgfile in imgfiles: imgname = os.path.split(imgfile)[-1] label = 0 if 'OK' in imgfile else 1 # label = 0 if imgfile.split('/')[-2] == 'OK' else 1 t.write(imgname + '\t' + str(label) + '\n') t.close()
这是一个Python函数,名为save2txt,它有两个参数:path和savepath。path是一个文件夹路径,savepath是一个可选参数,表示保存标签的文件路径,默认为'labels.txt'。
函数的作用是遍历path文件夹下所有的.tif文件,并将它们的标签保存到savepath文件中。如果.tif文件名中包含'OK',则标签为0,否则标签为1。
import requests import re import os from bs4 import BeautifulSoup from scrapy import Spider from PIL import Image import io def GetBasicInfo(url): res = requests.get(url, headers=headers) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, 'lxml') tmp = soup.find(attrs={'class': 'mhlistbody'}) chapters = tmp.ul.contents chapters.reverse() return chapters def GetRealUrls(mh_info): imgs = [] comic_size = re.findall(r'comic_size:"(.*?)"', mh_info)[0] base_url = 'https://mhpic.jumanhua.com/comic/{}.jpg%s.webp' % comic_size num_img = int(re.findall(r'totalimg:(\d+)', mh_info)[0]) pageid = int(re.findall(r'pageid:(\d+)', mh_info)[0]) imgpath = re.findall(r'imgpath:"(.*?)"', mh_info)[0] start = 0 while True: idx = imgpath.find('\\', start) if idx == -1: break imgpath = imgpath[:idx] + imgpath[idx+1:] start = idx + 1 for i in range(num_img): realpath = str() for s in imgpath: realpath += chr(ord(s) - pageid % 10) url = base_url.format(realpath + str(i+1)) imgs.append([url, str(i+1)+'.jpg']) return imgs def DownloadChapter(savepath, url): if not os.path.exists(savepath): os.mkdir(savepath) res = requests.get(url, headers=headers) res.encoding = 'utf-8' mh_info = re.findall(r'mh_info={(.*?)}', res.text)[0] img_urls = GetRealUrls(mh_info) for img_url in img_urls: img_content = requests.get(img_url[0]).content filename = os.path.join(savepath, img_url[1]) img = Image.open(io.BytesIO(img_content)) img.save(filename) if __name__ == '__main__': url = 'https://www.manhuatai.com/yaoshenji/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36'} savepath = url.split('/')[-2] Spider(url,savepath)
这段代码是一个简单的Python脚本,用于下载指定漫画网站的漫画图片。它使用了`requests`库来发送HTTP请求,`re`库用于正则表达式匹配,`os`库用于处理文件路径,`BeautifulSoup`库用于解析HTML,`PIL`库用于处理图片,`io`库用于读取图片内容。
具体来说,脚本中的`GetBasicInfo`函数用于获取漫画的章节信息,`GetRealUrls`函数用于获取漫画章节中每页图片的真实URL,`DownloadChapter`函数用于下载指定章节的漫画图片。
在脚本的主程序中,设置了要下载的漫画网址和请求头信息,然后调用`Spider`函数来下载漫画。
需要注意的是,该脚本使用了第三方库和一些特定的网站结构,如果要使用该脚本下载其他网站的漫画,可能需要进行适当的修改。
希望以上解答能够帮到您!如果还有其他问题,请随时提问。
阅读全文