1 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
JavaScript數(shù)據(jù)大多為JSON格式,因此您可以使用python模塊json將其轉(zhuǎn)換為python s dictionary。
作為示例數(shù)據(jù),在"videos[0] = "創(chuàng)建正確的JSON數(shù)據(jù)之后,您可以data = json.loads(stringg)用來創(chuàng)建字典-然后可以獲取ie。data['wmv']['size']
data = '''{
"wmv": {
"file": "wmv/01.wmv",
"name": "01",
"duration": 502,
"size": "195.1MB",
"wid": 854,
"hgt": 480,
"st": "1557499029",
"et": "1557502629",
"hs": "a0cfdef3b8b9e3dea576368a5bfbaef9",
"caps": []
},
"h264": {
"file": "h264/01.mp4",
"name": "01",
"duration": 502,
"size": "73.9MB",
"wid": 854,
"hgt": 480,
"st": "1557499029",
"et": "1557502629",
"hs": "32901a1870d0b32458b465ac9c3d6cad",
"caps": [{
"file": "001.jpg",
"fs": {
"st": "1557499029",
"et": "1557502629",
"hs": "5b328642a84fa6406bda527c18e46c27"
},
"tn": {
"st": "1557499029",
"et": "1557502629",
"hs": "0a4ad7d0edf1b92538b8127f8e297c41"
}
}, {
"file": "002.jpg",
"fs": {
"st": "1557499029",
"et": "1557502629",
"hs": "4390c0d9b321b5e86c88cb8ca5e56ede"
},
"tn": {
"st": "1557499029",
"et": "1557502629",
"hs": "9cf83158268379df660d6d01750a047c"
}
}]
}
}'''
import json
data = json.loads(data)
print(data['wmv']['size'])
# 195.1MB
如果每個(gè)變量都是一行,則可以用于split('\n')獲取行,然后用于split('=')獲取鍵和值。
然后,你必須要是值僅開始檢查用{或[在使用json。其他值可以是普通字符串,因此不需要json-它可能只需要?jiǎng)h除"。
Content = '''// <![CDATA[
devicetype = "computer";
isios = false;
videocdn = "media";
videopath = "updates/na/vid01";
poster = {"file": "preview/vidsplash.jpg","st": "1557499029","et": "1557502629","hs": "f3ad16f42fec5224d323915cdfbf43ed"};
attachname = "some-video-00001234";'''
import json
results = {}
for line in Content.split('\n'):
if ' = ' in line:
line = line[:-1] # remove `;`
key, val = line.split(' = ', 1)
if val.startswith( ('[', '{') ):
results[key] = json.loads(val)
elif val.startswith('"'):
val = val[1:-1] # remove `"`
results[key] = val
elif val == 'false':
results[key] = False
elif val == 'true':
results[key] = True
print(results['devicetype'])
print(results['isios'])
print(results['videocdn'])
print(results['poster']['file'])
# computer
# False
# media
# preview/vidsplash.jpg
添加回答
舉報(bào)