선배님들의 블로그를 통해 배우고 직접 추가한 내용도 많습니다.
하위 프로세스 모듈이 사용됩니다
>>> import subprocess
>>> p = subprocess.Popen('df -h',stdin =subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)
#wait()함수를 통해 명령 실행 결과의 반환 코드를 가져옵니다
>>> p.wait()
0
#read() 메소드를 통해 명령 출력 결과(표준 출력) 가져오기
> > 95M 0 495M 0% /dev/shmn'
#read() 메소드를 통해 명령 오류 출력 결과 가져오기
>>> () 비어 있어 출력이 없음을 나타냅니다
#오류 출력 가져오기
at 0x7f267528dbd0> > ;>> p = subprocess.Popen('ls /etc/password',stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True,close_fds=True) >> > p.stderr.read()'ls: /etc/password에 액세스할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.' @오류 출력을 얻는 다른 방법은 다음과 같습니다. : read() , (), readlines(), close(), write() 및 writelines() 등 #!/usr/bin/env # by lijiajunimport re,subprocess,os,sys net_region ='192.168.3 ' ("########################## #### ####################") print("#이 스크립트는 주로 ping을 기반으로 하며 사용된 IP를 테스트합니다. 및 특정 네트워크 세그먼트의 미사용 IP #") print("#/tmp/alive_ip.txt에 저장 #")print("#and/tmp/ dead_ip.txt #") print("################################# ##### ###############") print(" ") os.path .isfile("/ tmp/alive_ip.txt"): os.popen("mv /tmp/alive_ip.txt /tmp/alive_ip.txt.old") 인쇄 "당신 이 파일에서 사용된 IP를 볼 수 있습니다: /tmp/alive_ip.txt"if os.path.isfile("/tmp/dead_ip.txt"): os.popen(" mv /tmp/dead_ip .txt /tmp/dead_ip.txt.old") print "이 파일에서 사용되지 않은 IP를 볼 수 있습니다: /tmp/dead_ip.txt" print( " ") dead_ip=0 alive_ip=0 def check_alive(ip, , out): 전역 살아있는_ip 전역 dead_ip cmd='ping -c %d -w %d %s' %(수,시간초과,ip) p=subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) result=p.stdout.read() regx=re.findall('100% 패킷 손실',result) if len( regx)==0 : 인쇄(" check_alive(ip,1,1) print (" ") print "final dead_ip 개수는 %d" % dead_ip "최종 살아있는_ip 수는 %d"를 인쇄합니다. % 살아있는_ip 위 내용은 Python을 사용하여 특정 네트워크 세그먼트의 사용된 IP와 사용되지 않은 IP를 감지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!