Mam problemy z prawidłowym usuwaniem wywołań do powłoki z poziomu Pythona za pomocą komendy os.system. Próbuję wykonać odpowiednik:Właściwa obsługa powłoki uciekającej z Pythona przy użyciu os.system
$ cat test | sort --stable -t $'\t' -k1,1
z poziomu Pythona, przekazując go do powłoki.
Próbowałem:
import os
cmd = "cat %s | sort --stable -t $'\\t' -k1,1" %("test")
os.system(cmd)
ale pojawia się błąd:
sort: multi-character tab `$\\t'
chociaż działa prawidłowo z powłoki. Próbowałem uciec z \t
, dodając dodatkowe cięcie w języku Python, ale brakuje mi czegoś innego. Masz pomysł, jak to naprawić?
dzięki.
co możliwe przekazuj nazwę pliku jako argument do sortowania i pomiń "plik cat |". Powodzenia. – shellter