Mengendalikan Perlaksanaan Program dengan Ruang dalam Laluan Menggunakan Python
Dalam Python, os.system biasanya digunakan untuk melaksanakan program luaran. Walau bagaimanapun, ia boleh gagal apabila ruang hadir dalam laluan ke program.
Pertimbangkan coretan kod berikut:
<code class="python">import os os.system("C:\Temp\a b c\Notepad.exe");</code>
Kod ini cuba melaksanakan Notepad dengan laluan yang mengandungi ruang. Walau bagaimanapun, ia gagal dengan ralat:
'C:\Temp\a' is not recognized as an internal or external command, operable program or batch file.
Untuk menyelesaikan isu ini, elakkan atur cara dengan petikan:
<code class="python">os.system('"C:\Temp\a b c\Notepad.exe"');</code>
Walau bagaimanapun, pendekatan ini gagal apabila menghantar parameter kepada atur cara, seperti dilihat dalam contoh berikut:
<code class="python">os.system('"C:\Temp\a b c\Notepad.exe" "C:\test.txt"');</code>
Untuk menangani perkara ini, gunakan subprocess.call:
<code class="python">import subprocess subprocess.call(['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'])</code>
subprocess.call menerima senarai hujah, menghapuskan keperluan untuk petikan yang rumit. Ini secara berkesan menyelesaikan isu melaksanakan program dengan ruang dalam laluannya.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Program dengan Ruang dalam Laluan Mereka Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!