gpt4 book ai didi

python - 上传期间回调中的增量变量

转载 作者:太空狗 更新时间:2023-10-30 01:49:03 24 4
gpt4 key购买 nike

我有以下用于上传的 python 脚本,需要显示完成百分比。我在增加跟踪传输数据量的变量时遇到问题。我得到一个
UnboundLocalError:赋值前引用了局部变量“intProgress”
错误。然而,如果我尝试打印此变量,它会打印得很好,所以它似乎被引用了。

import os, sys, ftplib
pathname = 'C:/Paradigm1/1.PNG'
intFileSize = os.path.getsize(pathname)
intPercentDone = 0
intProgress = 0

def callback(p):
intProgress = intProgress + 1024
##sys.stdout.write(str(intProgress))
sys.stdout.write("-")
session = ftplib.FTP('Server','UserName','Password')
f = open(pathname,'rb')# file to send
session.storbinary('STOR /Ftp Accounts/PublicDownloads/test.png', f, 1024, callback)
f.close()

最佳答案

如果您希望callback() 函数改变全局变量intProgress,您必须在函数中将其声明为global。 ..

def callback(p):
global intProgress
intProgress = intProgress + 1024
##sys.stdout.write(str(intProgress))
sys.stdout.write("-")

...否则它会假定 intProgress 是一个局部变量,并且会因为您在设置它时试图引用它而感到困惑。

关于python - 上传期间回调中的增量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16988750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com