Python 하위 프로세스 모듈은 WMIC DataFile 명령을 실행하지 못합니다. 그것을 해결하는 방법?
Python subprocess
모듈에서 wmic datafile
명령을 실행하지 못하는 솔루션
많은 개발자들이 Python의 subprocess
모듈을 사용하여 시스템 명령을 실행할 때 문제가 발생할 수 있습니다. 이 기사는 일반적인 문제를 해결합니다. 명령 프롬프트 (cmd.exe)에서 정상적으로 실행할 수있는 wmic datafile
명령은 Python의 subprocess
모듈에서 예상 결과를 얻을 수 없습니다.
문제 설명 :
subprocess
모듈을 사용하여 다음 명령을 실행하여 Chrome 브라우저의 버전 정보를 얻으십시오.
wmic datafile where name = "c : \\ program files \\ google \\ chrome \\ application \\ chrome.exe"버전 /값을 얻습니다
cmd.exe에서 명령은 예를 들어 버전 번호를 올바르게 반환합니다.
<code>version=110.0.5481.178</code>
그러나 Python의 subprocess
모듈을 사용하여 동일한 명령을 실행하면 빈 결과 또는 오류를 반환합니다.
해결책:
문제는 subprocess
모듈의 명령 매개 변수 처리 및 잠재적 문자 인코딩 문제에 있습니다. 다음 Python 스 니펫은 wmic datafile
명령을 올바르게 실행하고 결과를 얻는 방법을 보여줍니다.
수입 하위 프로세스 chrome_path = r "c : \\ program files \\ google \\ chrome \\ application \\ chrome.exe" 명령 = [ "wmic", "datafile", "where", f "name = '{chrome_path}'", "get", "버전", "/value"]]]] 노력하다: result = subprocess.check_output (명령, text = true, stderr = subprocess.pipe) version = result.strip (). split ( '\ n') [1] .split ( '=') print (f "Chrome 버전 : {version}") 하위 프로세스 제외. print (f "오류 실행 명령 : {e}") print (f "stderr : {e.stderr}") IndexError를 제외하고 : print ( "출력에서 버전 정보를 구문 분석 할 수 없습니다.")
이 코드의 주요 개선은 다음과 같습니다.
- 매개 변수 서식에 F- 스트링을 사용하십시오. 수동 탈출 및 서식 문자열의 복잡성을 피하고 경로를보다 간결하게 처리하십시오.
-
text=True
:text=True
subprocess
텍스트 모드를 사용하고 출력 인코딩을 올바르게 처리하라고 지시합니다. -
stderr=subprocess.PIPE
: 디버깅 오류에 대한 표준 오류 출력을 캡처합니다. -
IndexError
처리 :try...except
사용하여 블록을 사용하여 잠재적 인subprocess.CalledProcessError
를 처리합니다. - 버전 정보 추출 : 출력 결과를 구문 분석하고 버전 번호를 추출하며 출력 형식의 특정 세부 정보에 의존하지 마십시오.
이러한 수정을 통해 subprocess
모듈은 wmic datafile
명령을 올바르게 실행하고 예상 크롬 버전 정보를 반환 할 수 있습니다. 이것은 cmd.exe에서 정상적으로 실행할 수 있지만 결과를 파이썬으로 얻을 수 없다는 문제를 해결합니다. 향상된 오류 처리 메커니즘은 코드를보다 강력하게 만듭니다.
위 내용은 Python 하위 프로세스 모듈은 WMIC DataFile 명령을 실행하지 못합니다. 그것을 해결하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Ouyi Exchange 앱은 Apple 휴대 전화 다운로드를 지원하고, 공식 웹 사이트를 방문하고, "Apple Mobile"옵션을 클릭하고, App Store에 입력하고 설치하고, Cryptocurrency 거래를 수행하려면 등록 또는 로그인합니다.

참깨 오픈 도어는 암호 화폐 거래에 중점을 둔 플랫폼입니다. 사용자는 공식 웹 사이트 또는 소셜 미디어를 통해 포털을 얻을 수있어 액세스 중에 SSL 인증서 및 웹 사이트 컨텐츠의 진위가 확인되도록 할 수 있습니다.

공식 입구에 액세스 할 수 있도록 Okex와 같은 신뢰할 수있는 거래 플랫폼을 선택하십시오.

Binance 공식 웹 사이트를 방문하여 HTTPS 및 Green Lock 로고를 확인하여 피싱 웹 사이트를 피하면 공식 응용 프로그램에도 안전하게 액세스 할 수 있습니다.

MySQL에서는 altertabletable_nameaddcolumnnew_columnvarchar (255) 이후에 필드를 추가하여 altertabletable_namedropcolumncolumn_to_drop을 사용하여 필드를 삭제합니다. 필드를 추가 할 때는 쿼리 성능 및 데이터 구조를 최적화하기위한 위치를 지정해야합니다. 필드를 삭제하기 전에 작업이 돌이킬 수 없는지 확인해야합니다. 온라인 DDL, 백업 데이터, 테스트 환경 및 저하 기간을 사용하여 테이블 구조 수정은 성능 최적화 및 모범 사례입니다.

교환의 내장 양자화 도구에는 다음이 포함됩니다. 1. Binance : Binance 선물 정량 모듈, 낮은 취급 수수료 및 AI 지원 거래를 지원합니다. 2. OKX (OUYI) : 다중 계정 관리 및 지능형 주문 라우팅을 지원하고 기관 수준의 위험 관리를 제공합니다. 독립적 인 정량적 전략 플랫폼에는 다음이 포함됩니다. 4. Quadency : 맞춤형 위험 임계 값을 지원하는 전문 수준 알고리즘 전략 라이브러리. 5. Pionex : 내장 16 사전 설정 전략, 낮은 거래 수수료. 수직 도메인 도구에는 다음이 포함됩니다. 6. Cryptohopper : 클라우드 기반 정량 플랫폼, 150 개의 기술 지표를 지원합니다. 7. BITSGAP :

모바일 장치에서 애플리케이션을 개발할 때 휴대폰에 대한 기본 선택 문제는 종종 사용자가 선택 해야하는 시나리오에 직면합니다. 네이티브 셀 ...

Laravel에서 라이브 채팅 애플리케이션을 구축하려면 WebSocket 및 Pusher를 사용해야합니다. 특정 단계에는 다음이 포함됩니다. 1) .env 파일의 푸시어 정보 구성; 2) 방송 드라이버를 Broadcasting.php 파일에 Pusher로 설정합니다. 3) 푸셔 채널을 구독하고 Laravelecho를 사용한 이벤트를 듣습니다. 4) 푸셔 API를 통해 메시지를 보내십시오. 5) 개인 채널 및 사용자 인증 구현; 6) 성능 최적화 및 디버깅을 수행하십시오.
