sys.argv
, tüm python var. Kabuk, dosya isimlerini (globs), parametre (değişken) genişlemesini, tırnakları ve kelime bölme işlemlerini python işlemine geçirmeden önce işledi (unix; Windows'da aslında onu ayrıştıran başlangıç, ama taşınabilirlik için, güvenemezsiniz Bu konuda). Ancak, POSIX kabuk alıntılama kurallarının istediğiniz karakterleri iletmeye izin verdiğini unutmayın (dizeleri sonlandıran NUL baytları hariç).
Python'dan subprocess.call kullanarak veya shell
argüman kümesini kullanarak bir işlem başlatmayı deneyin. shell=False
ile başlayan dizgiler, shell=True
dizgisi, kendi kurallarına göre yorumlayan kabuğa aktarılırken, başlatılan işlemdeki (betik yolundan başlayarak; python tarafından işlenen parametreler kaldırılır), sys.argv
dizgisinde ortaya çıkan şeydir. .
Şimdiye kadar verilen yanıtlardan hiçbiri asıl soruyu yanıtlamıyor: Unix'te origianl komut satırı argümanları sys.argv içinde. Ne var ki, pencerelerinizde, her uygulamanın kendi ayrıştırma işlemini yapması beklenen bir komut satırı dizginiz var. (Geriye: Biliyorum.) Bu soruya verilen cevap, uygulanabilir olduğunda orijinal komut satırı dizesinin nasıl alınacağını önermelidir. – Arafangion