通过控制台启动Python脚本?

时间:2018-02-20 17:39:29

标签: python python-3.x python-3.5

我编写了一个简单的类,它从字典IMAGES加载图像网址并将其下载并存储在文件存储中。

下面给出了一个代码:

class ImageLoader:
    def __init__(self):
        for article, image in IMAGES.items():
            try:
                LOADED_IMAGES[article] = self.loadImage(image, '/home/')
            except BaseException as e:
                ERRORS.append(str(e))
                print("Error load image...." + str(e))

    def nameNameGenerate(self):
        return int(round(time.time() * 1000))

    def extention(self, path):
        ext = path.split(".")[-1]
        return '.' + ext if ext else 'jpg'

    def loadImage(self, path, path_folder):
        filename = str(self.nameNameGenerate()) + str(self.extention(path))
        wget.download(url=path, out=path_folder + filename)
        return '/catalog/s/' + filename

    def save(self):
        for key, value in LOADED_IMAGES.items():
            item = session.query(ProductTable).filter_by(sku=key).one()
            item.image = value
        session.commit()

使用此课程:

images = ImageLoader()
images.save()

我遇到的问题是启动后IMAGES中的大数据脚本不稳定。让我解释一下。

当我运行它时,它开始通过URL捕获文件,迭代循环。首次获取文件后终端通过启动脚本需要按下按钮继续。 (我按下Ctrl + C开始下载下一个文件)。

我不明白这种行为的原因,我也注意到脚本保存了临时文件而不是真实。

请看截图: enter image description here

我认为这是由操作系统引起的。

1 个答案:

答案 0 :(得分:0)

我认为CTRL + C是必要的,因为行

ERRORS.append(str(e))

究竟是什么变量' ERRORS' ?我认为这是造成冻结行为问题的原因。尝试没有错误的代码,并告诉我它是否更好。

另一件事,我认为最好使用self.LOADED_IMAGES而不是LOADED_IMAGES。