我为我的公司建立了一个带有覆盆子和屏幕的数字标牌解决方案。现在我们在不同的商店有35个屏幕。我决定使用python一键上传视频。我在总部测试了我的简单代码,工作正常。昨天我想把视频发布到我们的商店,但我想我正在暂停运行,因为视频没有正确上传。它们都有0个字节(应该是大约10 MB)。我如何上传它们系列而不是并行,我的意思是我怎么能保证脚本只在完成上传后继续。似乎请求帖子一直在继续。如果我只用一个商店试用代码,它就可以了:(。
import requests
import itertools as it
import itertools as it
baseurl = 'http://10.%d.80.%d:8080/api/assets'
dataDict = {'mimetype': 'video', 'asset_id': '1', 'duration': 0, 'name': 'test1', 'start_date': '2016-10-10T08:27:00+00:00', 'end_date': '2017-01-01T09:27:00+00:00', 'is_enabled': '1'}
imgFile = {'file_upload': open('C:/Python27/testvideo.mp4', 'rb')}
for x, y in [(x, y) for x in it.chain(range(1, 8), range(9, 16), range(17, 19), range(20, 23), range(30, 32), range(40, 42), range(50, 54), range(62, 81, 18), range(82, 83)) for y in it.chain(range(1, 3))]:
try:
r = requests.post(baseurl % (x, y), data=dataDict, files=imgFile, timeout=10)
except requests.exceptions.Timeout:
print (baseurl % (x, y))
Here is a screenshot of the logs
*编辑
似乎循环中的第一个商店获得了正确的文件大小,之后商店获得了0个字节。