通过控制台启动 Python 脚本?

Launching Python script through console?

我写了一个简单的 class,它从字典 IMAGES 中加载图像 url,然后将它们下载并存储在文件存储中。

代码如下:

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()

使用这个 class:

images = ImageLoader()
images.save()

我面临的问题是启动后 IMAGES 中大数据脚本的不稳定工作。让我再解释一下。

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

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

请看截图:

我认为这是操作系统的问题。

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

ERRORS.append(str(e))

变量 'ERRORS' 到底是什么?我认为这是冻结行为问题的原因。尝试没有错误的代码,然后告诉我它是否运行得更好。

另一件事,我认为使用 self.LOADED_IMAGES 代替 LOADED_IMAGES 会更好。