【问题标题】:Launching Python script through console?通过控制台启动 Python 脚本?
【发布时间】:2018-02-21 04:00:14
【问题描述】:

我编写了一个简单的类,它从字典 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()

使用这个类:

images = ImageLoader()
images.save()

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

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

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

请看截图:

我认为这是由于操作系统造成的。

【问题讨论】:

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


    【解决方案1】:

    我认为 CTRL+C 是必要的,因为这条线

    ERRORS.append(str(e))

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

    另外,我认为使用 self.LOADED_IMAGES 而不是 LOADED_IMAGES 会更好。

    【讨论】:

    • 我已经在上面声明了ERORRS
    猜你喜欢
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2014-03-09
    • 2012-04-13
    相关资源
    最近更新 更多