我如何解析其他功能打印?IE。功能打印
131072 of 1093419 downloaded
393216 of 1093419 downloaded
786432 of 1093419 downloaded
1089536 of 1093419 downloaded
我想用这些数据创建一个仪表(http://wiki.wxpython.org/wxGauge%20Widget)。
我如何解析其他功能打印?IE。功能打印
131072 of 1093419 downloaded
393216 of 1093419 downloaded
786432 of 1093419 downloaded
1089536 of 1093419 downloaded
我想用这些数据创建一个仪表(http://wiki.wxpython.org/wxGauge%20Widget)。
正如@AlexChamberlain 所说,您必须做的最好的方法是修补巨型库,以便您可以使用它的输出并充分利用它,您可以轻松地更改代码,如下所示:
在文件mega/mega.py中,您更改download_file
方法,以便它调用所有结果的回调而不是打印它们:
def download_file(self, file_handle, file_key, dest_path=None, dest_filename=None, is_public=False, file=None, callback=None):
然后在第 496 行使用该回调。而不是该行:
print('{0} of {1} downloaded'.format(file_info.st_size, file_size))
您添加:
if callback:
callback(file_info.st_size, file_size)
else:
print('{0} of {1} downloaded'.format(file_info.st_size, file_size))
然后你必须改变所有调用函数的原型download_file()
,例如download()
:
def download(self, file, dest_path=None, dest_filename=None, callback=None):
"""
Download a file by it's file object
"""
self.download_file(None, None, file=file[1], dest_path=dest_path, dest_filename=dest_filename, is_public=False, callback=callback)
最后,您可以按如下方式使用下载:
def myupdater(current, total):
print "downloaded {0}/{1} so far".format(current, total)
mega.download('xxx', '/tmp', 'foo', callback=myupdater)
当然,我的答案并不完整(您必须这样做download_url
并确定是否应将相同的模式应用于其他功能,例如上传)。但我希望你能明白这一点,这样你就可以为向开源项目提交补丁而感到自豪!
注意:要创建补丁,您应该在 github 上查看此文档。
高温高压