利用Python 向FTP 上传图片,程序假死?

发布于 2022-09-12 03:38:58 字数 1272 浏览 15 评论 0

想要从网络中下载图片到本地之后从本地上传图片到FTP上的指定文件夹,但是程序总是在运行一段时间后卡住,最后经过调试输出确定问题是出在 ftp.storbinary() 这行代码,百度了很久,但是不知道为什么会卡住,也不知道怎么解决,有没有大佬知道为什么会卡住,还有怎么解决么??
下面附上代码:

# 下载图片到本地, 传入图片链接 和 下载后保存的文件名
def download_img(imgurl, filename):
    if imgurl:
        print("-----------正在下载图片 %s" % imgurl)
        try:
            response = requests.get(imgurl, timeout=5)
            img = response.content
            with open(f'{path}/result/imgtmp/{filename}.jpg', 'wb+') as f:
                f.write(img)
            print('下载图片到本地成功')
            return f'{path}/result/imgtmp/{filename}.jpg'
        except Exception as ex:
            print(ex)
            return ''
            

# 从本地上传文件到ftp
def uploadfile(ftp, remotepath, localpath):
    print(1)
    bufsize = 1024  # 缓冲区大小
    print(2)
    fp = open(localpath, 'rb')
    print(3)
    ftp.storbinary('STOR ' + remotepath, fp, bufsize)
    print(4)
    ftp.set_debuglevel(0)
    print(5)
    fp.close()


# 下面是输出结果和 我加的编辑这个问题的时间

#--------2020-07-13 13:41:37-------------
#-----------正在下载图片 https://****.***/***/***.jpg
#下载图片到本地成功
#开始上传图片到 FTP
# 1
# 2
# 3

# 这是现在的时间,程序还在卡着:
#--------2020-07-13 14:27:37-------------

已经检查了图片链接没有问题,程序运行时每次卡住的地方也不一样,有时候上传一二十个图片会卡在这个地方,有时候上传四五百个图片才会卡住,完全不知道问题出在哪里(囧)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

允世 2022-09-19 03:38:58

不知道你有没有解决这个问题,我现在也遇到了这样的问题,卡住了,不报错也不继续运行

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文