변수

2017-10-01 11 views
0

sudo는 파이썬은 위에서 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를 기대하지만, 단지 하나만 전달하면됩니다 :'who' –

+0

who = 255,255,0 3 개의 인자가 필요합니다. 색깔 (누가) doesnt는 변수의 내용으로 변환하는 것 같습니다. – 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 

또는

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

실행 스크립트로 여기에 구현하는 두 가지 방법이 있습니다 인수의 유형!

+0

완벽하게 작동합니다. 감사. 나는 int로 변환해야했다. 그래서 줄은 yanon (strip, Color (int [who [0]), int (who [1]), int (who [2]))) 왜 downvoted인지 모릅니다. 완벽하게 작동합니다. – jointtech

0

who는 문자열입니다. 어떤 종류의 변수 색상을 사용해야할지 모르지만 아마도 int입니다. ","로 3 개의 하위 문자열로 누구의 문자열을 나눠야하며, 각각을 int 또는 무엇이든간에 변환해야합니다.