Rumah pembangunan bahagian belakang Tutorial Python Modul subprocess Python gagal melaksanakan perintah data WMIC. Bagaimana menyelesaikannya?

Modul subprocess Python gagal melaksanakan perintah data WMIC. Bagaimana menyelesaikannya?

Apr 01, 2025 pm 08:48 PM
python pelayar Penyelesaian

Modul subprocess Python gagal melaksanakan perintah data WMIC. Bagaimana menyelesaikannya?

Penyelesaian untuk gagal melaksanakan perintah wmic datafile dalam modul subprocess python

Ramai pemaju mungkin menghadapi masalah apabila melaksanakan arahan sistem menggunakan modul subprocess Python. Artikel ini menyelesaikan masalah yang sama: Perintah wmic datafile yang boleh dilaksanakan secara normal dalam command prompt (cmd.exe) tidak dapat memperoleh hasil yang diharapkan dalam modul subprocess Python.

Penerangan Masalah:

Cuba gunakan modul subprocess untuk melaksanakan arahan berikut untuk mendapatkan maklumat versi pelayar Chrome:

 WMIC Datafile Where Name = "C: \\ Program Files \\ Google \\ Chrome \\ Application \\ Chrome.exe" Dapatkan Versi /Nilai
Salin selepas log masuk

Dalam cmd.exe, arahan itu mengembalikan nombor versi dengan betul, sebagai contoh:

 <code>version=110.0.5481.178</code>
Salin selepas log masuk

Walau bagaimanapun, menggunakan modul subprocess Python untuk melaksanakan arahan yang sama, mengembalikan hasil kosong atau ralat.

Penyelesaian:

Masalahnya terletak pada pengendalian modul subprocess parameter perintah dan masalah pengekodan watak yang berpotensi. Coretan Python berikut menunjukkan cara melaksanakan arahan wmic datafile dan dapatkan hasilnya:

 Import subprocess

chrome_path = r "c: \\ Program Files \\ Google \\ Chrome \\ Application \\ Chrome.exe"
perintah = ["wmic", "datafile", "where", f "name = '{chrome_path}'", "get", "version", "/value"]
Cuba:
    hasil = subprocess.check_output (command, text = true, stderr = subprocess.pipe)
    versi = result.strip (). Split ('\ n') [1] .split ('=') [1] .split () # Nombor versi ekstrak
    cetak (f "versi krom: {versi}")
Kecuali subprocess.CalledProcessError sebagai E:
    cetak (f "ralat pelaksanaan perintah: {e}")
    cetak (f "stderr: {e.stderr}")
Kecuali indeksror:
    Cetak ("Tidak dapat menghuraikan maklumat versi dari output.")
Salin selepas log masuk

Penambahbaikan utama kod ini adalah:

  1. Gunakan f-string untuk pemformatan parameter: mengendalikan laluan lebih ringkas, mengelakkan kerumitan manual melarikan diri dan rentetan pemformatan.
  2. text=True : Tentukan text=True TELLS subprocess UNTUK MENGGUNAKAN MODE TEXT DAN MEMBUAT PROSES THE OUTPUT MATCHED.
  3. stderr=subprocess.PIPE : Menangkap output ralat standard untuk kesilapan debugging.
  4. Pengendalian ralat: Gunakan try...except blok untuk mengendalikan potensi subprocess.CalledProcessError dan IndexError untuk menyediakan lebih banyak kod yang mantap.
  5. Pengekstrakan Maklumat Versi: Mengurangkan hasil output, ekstrak nombor versi, dan elakkan bergantung pada butiran khusus format output.

Melalui pengubahsuaian ini, modul subprocess boleh melaksanakan arahan wmic datafile dan mengembalikan maklumat versi Chrome yang dijangkakan. Ini menyelesaikan masalah yang dapat dilaksanakan secara normal di cmd.exe tetapi tidak dapat memperoleh hasil dalam python. Mekanisme pengendalian ralat yang lebih baik juga menjadikan kod lebih mantap.

Atas ialah kandungan terperinci Modul subprocess Python gagal melaksanakan perintah data WMIC. Bagaimana menyelesaikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1658
14
Tutorial PHP
1257
29
Tutorial C#
1231
24
Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Python vs C: Bahasa mana yang harus dipilih untuk projek anda? Python vs C: Bahasa mana yang harus dipilih untuk projek anda? Apr 21, 2025 am 12:17 AM

Memilih Python atau C bergantung kepada keperluan projek: 1) Jika anda memerlukan pembangunan pesat, pemprosesan data dan reka bentuk prototaip, pilih Python; 2) Jika anda memerlukan prestasi tinggi, latensi rendah dan kawalan perkakasan yang rapat, pilih C.

Cara Mendaftar Akaun mengenai Tutorial Pendaftaran Exchange Ouyi Exchange Ouyi Cara Mendaftar Akaun mengenai Tutorial Pendaftaran Exchange Ouyi Exchange Ouyi Apr 24, 2025 pm 02:06 PM

Langkah -langkah untuk mendaftarkan akaun OUYI adalah seperti berikut: 1. Sediakan e -mel atau nombor telefon bimbit yang sah dan menstabilkan rangkaian. 2. Lawati laman web rasmi Ouyi. 3. Masukkan halaman pendaftaran. 4. Pilih e -mel atau nombor telefon bimbit untuk mendaftar dan isi maklumat. 5. Dapatkan dan isi kod pengesahan. 6. Setuju dengan Perjanjian Pengguna. 7. Pendaftaran lengkap dan log masuk, menjalankan KYC dan menubuhkan langkah keselamatan.

Binance muat turun pautan Binance muat turun jalan Binance muat turun pautan Binance muat turun jalan Apr 24, 2025 pm 02:12 PM

Untuk memuat turun aplikasi Binance dengan selamat, anda perlu melalui saluran rasmi: 1. Lawati laman web rasmi Binance, 2. Cari dan klik portal muat turun aplikasi, 3.

Golang vs Python: Kebaikan dan Kekejangan Golang vs Python: Kebaikan dan Kekejangan Apr 21, 2025 am 12:17 AM

Golangisidealforbuildingscalablesystemsduetoitseficiencyandcurrency, whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityandvastecosystem.golang'sdesignencouragescouragescouragescouragescourageSlean, readablecodeanditsouragescouragescourscean,

Laravel vs Python (dengan rangka kerja): Analisis Perbandingan Laravel vs Python (dengan rangka kerja): Analisis Perbandingan Apr 21, 2025 am 12:15 AM

Laravel sesuai untuk projek -projek yang pasukannya biasa dengan PHP dan memerlukan ciri -ciri yang kaya, manakala rangka kerja Python bergantung kepada keperluan projek. 1. Laravel menyediakan sintaks elegan dan ciri -ciri yang kaya, sesuai untuk projek yang memerlukan perkembangan dan fleksibiliti pesat. 2. Django sesuai untuk aplikasi yang kompleks kerana konsep "inklusi bateri" nya. 3.Flask sesuai untuk prototaip cepat dan projek kecil, memberikan fleksibiliti yang hebat.

Python vs JavaScript: Gunakan Kes dan Aplikasi Membandingkan Python vs JavaScript: Gunakan Kes dan Aplikasi Membandingkan Apr 21, 2025 am 12:01 AM

Python lebih sesuai untuk sains data dan automasi, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python berfungsi dengan baik dalam sains data dan pembelajaran mesin, menggunakan perpustakaan seperti numpy dan panda untuk pemprosesan data dan pemodelan. 2. Python adalah ringkas dan cekap dalam automasi dan skrip. 3. JavaScript sangat diperlukan dalam pembangunan front-end dan digunakan untuk membina laman web dinamik dan aplikasi satu halaman. 4. JavaScript memainkan peranan dalam pembangunan back-end melalui Node.js dan menyokong pembangunan stack penuh.

Muat turun laman web rasmi aplikasi Exchange Ouyi untuk telefon bimbit Apple Muat turun laman web rasmi aplikasi Exchange Ouyi untuk telefon bimbit Apple Apr 28, 2025 pm 06:57 PM

Aplikasi Exchange OUYI menyokong memuat turun telefon bimbit Apple, lawati laman web rasmi, klik pilihan "Apple Mobile", dapatkan dan pasang di App Store, daftar atau log masuk untuk menjalankan perdagangan cryptocurrency.

See all articles