我想檢查是否有字典密鑰:"data["streams"][1]["codec_name"]"
以及是否有打印幾個鍵的值,如果不打印「無音頻」。實際上,如果沒有音頻,整個數據[「流」] [1]就會丟失。即使音頻存在,腳本始終返回無音頻。我做錯了什麼?FFMPEG python檢查是否存在字典密鑰
#!/usr/bin/env python
import subprocess
import json
input_file = raw_input("Please enter the input file path: ")
returned_data = subprocess.check_output(['ffprobe', '-v', 'quiet', '-print_format', 'json', '-show_format', '-show_streams', input_file])
data = json.loads(returned_data.decode('utf-8'))
print "==========================Audio============================="
if 'data["streams"][1]["codec_name"]' in data:
print "Codec: %s" %(data["streams"][1]["codec_name"])
print "Sample Rate: %.3f KHz" %(int(data["streams"][1]["sample_rate"])/1000)
print "Bitrate: %d Kbps" %(int(data["streams"][1]["bit_rate"])/1000)
else:
print "NO AUDIO"
你正在檢查一個字符串是否在'data'中,你應該這樣做:if data [「streams」] [1] [「codec_name」] in data:' –
@Chris_Rands如果我照你的建議做: ** TypeError:不可能的類型:'dict'**錯誤 –