辞書キーがあるかどうか確認したい:"data["streams"][1]["codec_name"]"
キーが2つあるかどうかをチェックし、 "No Audio"を表示しない場合はチェックする。実際にはオーディオがない場合は、データ["streams"] [1]が欠落しています。現在、オーディオは存在していても、スクリプトは常にNo Audioを返すようになっています。私が間違っていることは何ですか?あなたはこのFFMPEG python辞書キーが存在するかどうかを調べる
if 'data["streams"][1]["codec_name"]' in data:
を行うとdata
が、それはそれが表示されることはありませんしませんdata["streams"][1]["codec_name"]
と呼ばれるキーを持っている場合
#!/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'にあるかどうかを確認しています。データの中でdata [" streams "] [" codec_name "]を実行する必要があります:' –
@Chris_Rands : ** TypeError:unhashableタイプ: 'dict' **エラー –