Ben özyinelemeli bir dize aramak çalışıyorum grepama bunu elde:
$ grep -r "stuff" *
grep: unrecognized option '---corporate-discount.csv'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Bash'in -argüman olarak başlayan dosyaları geçirmesini nasıl önleyebilirim ?
grepseçenek olmadığını söylemek .
subprocess.Popen(['grep', '-r', '-e' 'stuff', '--corporate-discount.csv'])Python'da, hiçbir yerde bash ile elde edersiniz .
*komutlarda kullanılmasından kaynaklanabilecek güvenlik sorunları hakkında . Bunların TÜMÜ kullanılarak ./*yerine önlenebilir .
--seçenek sonu sigil olarak kullanmak da oldukça makul; POSIX yardımcı programı söz dizimi yönergelerine uyulmasını gerektirir; 10 numaralı kılavuza bakın. (Elbette, tüm programlar POSIX yönergelerine uymaz, ancak cevap rahatsız edici programların yazarlarını dizmek ve / veya bunları sektörden çıkarmaktır).