2016-07-07 4 views
0

함수에서 반환 값을 시도하는 중 오류가 발생합니다. dg가 정의되지 않았다고 잘못 설명 할 수 있습니까?Python 3 - 함수에서 값을 반환합니다.

ipl = socket.gethostbyname(socket.gethostname()) 
seg1,seg2,seg3,seg4=ipl.split(".") 
ip2 = seg1+"."+seg2+"."+seg3+"." 
ip3 = seg1+"."+seg2+"."+seg3+"." 


def getDGW(ip3): 
    cmd = 'ipconfig' 
    p = subprocess.Popen(cmd , stdout=subprocess.PIPE,stderr=subprocess.PIPE) 
    for line in p.stdout: 
     x = re.findall('Default Gateway',str(line)) 
     if x: 
      regex = ip3 + r'[0-9]+' 
      line = re.search(regex, str(line)) 
      if line: 
       print(line.group(0)) 
       dg = line.group(0) 
       return (dg) 

getDGW(ip3) 

print(dg) 

답변

1

문제는 dg을 반환하지 않을,하지만 문 print(dg)인치 당신은 print(getDGW(ip3)) 또는

dg = getDGW(ip3) 
print(dg) 

dg이 함수의 범위 밖에서 정의되지 않은 변수 갖고 싶어.

관련 문제