我寫了一個小的shell腳本,看起來像:從Shell腳本傳遞參數到Python
cd models/syntaxnet
var1=$(jq --raw-output '.["avl_text"]' | syntaxnet/demo.sh)
echo $var1
python /home/sree/python_code1.py $var1
我python_code1.py
樣子:
進口SYS
data = sys.argv[1]
print "In python code"
print data
print type(data)
現在,輸出在我的shell腳本中echo $ var1正是我想看到的:
1 Check _ VERB VB _ 0 ROOT _ _ 2 out _ PRT RP _ 1 prt _ _ 3 this _ DET DT _ 4 det _ _ 4 video _ NOUN NN _ 1 dobj _ _ 5 about _ ADP IN _ 4 prep _ _ 6 Northwest _ NOUN NNP _ 7 nn _ _ 7 Arkansas _ NOUN NNP _ 5 pobj _ _ 8 - _ . , _ 7 punct _ _ 9 https _ X ADD _ 7 appos _ _
但是Python代碼中print data
的輸出是jus 1
。即參數的第一個字母。
這是怎麼發生的?我想將整個字符串傳遞給python代碼。
這工作。謝謝你的解釋! – kskp