2015-02-02 2 views
1

Python 2.6.6을 실행 중이고 루프에 여러 항목이 들어있는 변수에 대해 snmpwalk를 실행하려고합니다. 이 목록에는 다른 코드 줄이 채워져 있으며 변수는 변수로 저장되어 있습니다.for 루프에서 다중 항목을 실행하는 변수

import commands 
import re 
names = switch1 switch2 switch3 
for i in names: 
    count = "snmpbulkwalk -O qv -v 2c -c 2sc4nFB {0} OID-value ".format(names) 
    bw = commands.getoutput(count) 
    print names+",utilization,"+bw 

내가 얻고 출력은

switch1switch2switch3,utilization, 

출력

switch1,utilization,2345 
switch2,utilization,5234 
switch3,utilization,45632 

이것은 또한 지속적으로 실행하고 나는 그것을 중지하기 위해 그것을 깰 필요가 기대.

+0

무엇이'switch1','switch2','switch3'입니까? –

답변

0

당신은 아마 다음과 같이 변수를 반복하고 적절하게 사용하지 않는 동안 (당신이 i가 사용되지 않습니다),하고 싶은 :

for name in names: 
    count = "snmpbulkwalk -O qv -v 2c -c 2sc4nFB {0} OID-value ".format(name) 
    bw = commands.getoutput(count) 
    print name+",utilization,"+bw 

을하고 나는 그것이 names = [switch1, switch2, switch3]해야한다고 생각,하지 그것?

+0

예가 올바르게 작동했습니다. 검색 명령을 통해 이름을 가져 오면 출력에 이름을 지정하고 str으로 저장하고 수동으로 이름을 입력하면 목록으로 저장됩니다. 변수가 목록을 완벽하게 작동한다고 간주하고 문자열이 작동하지 않습니다. 나는 어떻게 그것을 str로 만들까요? –

+0

@ReubenGuerrero 더 자세한 정보를 제공 할 수 있습니까? 당신이 어떻게 switch1'' switch2'' switch3' –

+0

을 데이터베이스에 질의하고 거기에서 스위치 이름을 가져 오는 지 초기화하는 것과 같이. 여기 코드가 그것을 잡으려고 사용하고 있습니다. ! "| 그렙 -v 장치 시스코을 = --device_vendor ENM-CLI 호스트 = --device_role 원격 액세스 VPN-컨트롤러를 찾을 수" '#는/usr/빈 가져 오기가 수입 재 호스트 = 명령 /파이썬 names = commands.getoutput (host)' –

관련 문제