Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Melaksanakan Program dengan Ruang dalam Laluan dari Python?

Bagaimana untuk Melaksanakan Program dengan Ruang dalam Laluan dari Python?

Susan Sarandon
Lepaskan: 2024-11-03 15:08:03
asal
464 orang telah melayarinya

How to Execute a Program with Spaces in the Path from Python?

Cara Melaksanakan Program daripada Python

Python menyediakan cara yang mudah untuk melaksanakan program luaran menggunakan fungsi os.system(). Walau bagaimanapun, fungsi ini boleh gagal apabila laluan ke program mengandungi ruang.

Penyelesaian: Menggunakan subprocess.call()

Fungsi subprocess.call() ialah alternatif kepada os.system() yang mengelak daripada memetik isu yang disebabkan oleh ruang dalam laluan. Ia memerlukan senarai argumen dan bukannya rentetan tunggal, memudahkan persempadanan argumen.

<code class="python">import subprocess

subprocess.call(['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'])</code>
Salin selepas log masuk

Dalam contoh ini, Notepad.exe akan dilaksanakan dengan parameter C:\test.txt. Fungsi subprocess.call() akan menunggu sehingga program selesai.

Pilihan Lain

1. Escaping Spaces

Melampirkan laluan dalam petikan berganda boleh melepaskan ruang. Walau bagaimanapun, kaedah ini boleh menjadi menyusahkan apabila menambah berbilang parameter.

<code class="python">os.system('"C:\Temp\a b c\Notepad.exe" "C:\test.txt"')</code>
Salin selepas log masuk

2. Menggunakan Shell=True dengan os.system()

Setting shell=True membenarkan penterjemah arahan sistem pengendalian mengendalikan konvensyen petikan. Walau bagaimanapun, kaedah ini datang dengan risiko keselamatan.

<code class="python">os.system("C:\Temp\a b c\Notepad.exe C:\test.txt", shell=True)</code>
Salin selepas log masuk

Kesimpulan

subprocess.call() ialah kaedah pilihan untuk melaksanakan program daripada Python apabila laluan mengandungi ruang. Ia menyediakan penyelesaian yang mudah dan selamat.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Program dengan Ruang dalam Laluan dari Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan