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 계정을 등록하는 단계는 다음과 같습니다. 1. 유효한 이메일 또는 휴대폰 번호를 준비하고 네트워크를 안정화시킵니다. 2. Ouyi의 공식 웹 사이트를 방문하십시오. 3. 등록 페이지를 입력하십시오. 4. 정보를 등록하고 작성하려면 이메일 또는 휴대폰 번호를 선택하십시오. 5. 검증 코드를 얻고 입력하십시오. 6. 사용자 계약에 동의합니다. 7. 등록 및 로그인을 완료하고 KYC를 수행하고 보안 조치를 설정하십시오.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

Binance 앱을 안전하게 다운로드하려면 공식 채널을 살펴 봐야합니다. 1. Binance 공식 웹 사이트를 방문하십시오. 2. 앱 다운로드 포털을 찾아서 클릭하십시오.

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

참깨 도어 오픈 계정을 등록하려면 7 단계가 필요합니다. 1. 유효한 이메일 또는 휴대폰 번호와 안정적인 네트워크를 준비하십시오. 2. 공식 웹 사이트를 방문하십시오. 3. 등록 페이지를 입력하십시오. 4. 등록 방법을 선택하고 작성하십시오. 5. 검증 코드를 얻고 입력하십시오. 6. 사용자 계약에 동의합니다. 7. 등록 및 로그인을 완료하면 KYC를 수행하고 보안 조치를 설정하는 것이 좋습니다.

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

50 개의 피아트 통화 채널, 냉간 저장 비율 95%및 제로 보안 사고 기록을 포함하는 EU MICA 규정 준수 인증. 미국 SEC 라이센스 플랫폼은 화폐 통화의 직접 구매, 98% 냉장 저장, 기관 수준 유동성, 대규모 OTC 및 사용자 정의 주문 및 다중 레벨 청산 보호를 지원합니다.

USDT 전송 주소가 잘못된 후 먼저 전송이 발생했음을 확인한 다음 오류 유형에 따라 측정 값을 취합니다. 1. 전송 확인 : 트랜잭션 기록을보고 블록 체인 브라우저에서 트랜잭션 해시 값을 얻고 쿼리하십시오. 2. 조치를 취하십시오 : 주소가 존재하지 않으면 자금이 반환 될 때까지 기다리거나 고객 서비스에 연락하십시오. 유효하지 않은 주소 인 경우 고객 서비스에 문의하고 전문적인 도움을 구하십시오. 다른 사람에게 양도되면 수취인에게 연락하거나 법적 도움을 요청하십시오.
