Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh melepaskan nama fail dan hujah dalam panggilan os.system() dengan selamat dalam Python?
Melepaskan Panggilan os.system()
Untuk melepaskan nama fail dan hujah dalam panggilan os.system(), dengan berkesan mengendalikan aksara khas dalam berbeza sistem pengendalian dan cangkerang, adalah disyorkan untuk menggunakan fungsi perpustakaan.
shlex.quote() dan pipes.quote()
Pengguna Python 3 boleh memanfaatkan shlex.quote( ), manakala mereka yang menggunakan Python 2 dan Python 3 boleh menggunakan pipes.quote(). Fungsi ini berfungsi sebagai pilihan yang cekap dan mantap untuk melepaskan rentetan, membolehkan anda menghantarnya dengan mudah sebagai parameter kepada perintah.
Menggunakan shlex.quote() untuk Python 3:
<code class="python">import shlex escaped_filename = shlex.quote(filename) os.system("cat %s" % escaped_filename)</code>
Menggunakan pipes.quote() untuk Python 2 dan Python 3:
<code class="python">import pipes escaped_filename = pipes.quote(filename) os.system("cat %s" % escaped_filename)</code>
Kesederhanaan dan Pertimbangan Keselamatan:
Sementara menggunakan sebut harga kekal sebagai penyelesaian yang berdaya maju, adalah penting untuk mengambil berat tentang kemungkinan kebimbangan keselamatan. Apabila menggunakan os.system(), adalah penting untuk memastikan sumber rentetan input boleh dipercayai dan tidak terdedah kepada eksploitasi berniat jahat.
Atas ialah kandungan terperinci Bagaimanakah saya boleh melepaskan nama fail dan hujah dalam panggilan os.system() dengan selamat dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!