
On 2017-05-25 19:06, Sven R. Kunze wrote:> On 25.05.2017 17:40, Hermann Riemann wrote:
error=os.system("latex ... 2> /tmp/log")
Hermann der das so machen würde
Sieht durchaus einfacher aus, ist aber nicht ganz unsicher, wenn's um das Thema Quoting von Parametern geht.
*Hier auch noch zum Nachlesen:* https://docs.python.org/3.6/library/subprocess.html
`subprocess` ist nicht nur sicherer, sondern auch ganz allgemein robuster. Es wird zwar immer hervorgehoben, dass mit dem Modul keine Angriffe mit speziellen Dateinamen möglich sind (was stimmt), aber das Modul hilft auch, wenn zum Beispiel Dateinamen ganz ohne böse Absicht Leerzeichen enthalten oder Zeichen, die sonst von der Shell interpretiert werden würden. Beispiel: dateiname = "dies & das.txt" # von irgendwoher ausgabe = subprocess.check_output(["du", "--human-readable", "--summarize", dateiname]) Viele Grüße Stefan