2017-10-01 10 views
0

はsudo pythonのは、上から255,255,0変数は

who = sys.argv[1] 
print sys.argv[1] 
print who 
print 'Number of arguments:', len(sys.argv), 'arguments.' 
print 'Argument List:', str(sys.argv) 
yanon(strip, Color(who)) 

出力は

255,255,0 

255,255,0 

Number of arguments: 2 arguments. 

Argument List: ['yantest.py', '255,255,0'] 

Traceback (most recent call last): 
    File "yantest.py", line 46, in <module> 
    yanon(strip, Color(who)) 
TypeError: Color() takes at least 3 arguments (1 given) 
Segmentation fault 
私は色関数内の変数を "" 使用するにはどうすればよい

あるyantest.py ?

Iveは( 'who')、(who)、どちらもどちらでも動作しませんでした。

+0

私たちは 'Color'が何であるかはわかりませんが、エラーによると、3つのargentが必要ですが、それに1つだけ渡します:' who' –

+0

who = 255,255,0必要な3つの引数。色(who)は変数の内容に変換されません。 – jointtech

+0

いいえ、実際には 'who ==" 255,255,0 "'しかし、実際には私のコメントには言及しません。 –

答えて

0
TypeError: Color() takes at least 3 arguments (1 given) 

エラーは、3つの引数を渡す必要がありますが、1つの引数だけを渡す必要があることを意味します。

color_r = sys.argv[1] 
color_g = sys.argv[2] 
color_b = sys.argv[3] 
yanon(strip, Color(color_r, color_g, color_b)) 

実行スクリプトとして:

sudo python yantest.py 255,255,0 

そして、あなたが気にする必要があります

sudo python yantest.py 255 255 0 

OR

who = sys.argv[1].split(',') 
yanon(strip, Color(who[0], who[1], who[2])) 

実行スクリプトとしてここに実装するには2つの方法があります引数の型!

+0

これは完全に動作します。ありがとう。私はintにも変換する必要がありました。だからラインはヤノンです(ストリップ、カラー(int(who [0])、int(who [1])、int(who [2]))) なぜdownvotedか分かりません。完璧に動作します。 – jointtech

0

whoは文字列です。私はどのような種類の可変色が得られるべきか、おそらくintであるのかどうかはわかりません。 "、"で3つのサブストリングに誰の文字列を分割し、それぞれをintに変換するか、それをすべきであるものに変換する必要があります。