Am 24.10.19 um 14:52 schrieb Hartmut Goebel:
Am 24.10.19 um 14:38 schrieb Hermann Riemann:
In https://docs.python.org/3/library/subprocess.html steht The run() function was added in Python 3.5; Die meisten meiner Python Programme wurden unter Python <= 3.4 entwickelt. ( os.system() ist die Nachfolge von system() in C)
Dann wird es Zeit, upzudaten. 3.0-3.4 sind schon End of life, Python 2.x stirbt am 1. Januar und 3.5 nächsten September.
Mein debian hat noch Python 3.5 Und SuSE hat bist 12.3 nur Python 3.4
Wenn Du die Argumente einzeln übergibst, werden sie auch einzeln an die OS-Funtionen exec*() übergeben.
Bei os.system("mkdir "+ordnername) wird erst zusammengefügt und das Ergebnis als ein Argument übergeben. Bei print( "mkdir",ordnername) wäre das anders.
bevor system oder subprocess aufgerufen wird. Dann empfehle ch, Deinen Code hier zu ändern. Wie gesagt, das ist anfällig für Shell-Escape-Angrifffe.
Was ist das? ( Ich verwende nur Linux)
Wenn ich Zeit habe, im Python3 Buch danach zu suchen. ( Python3 Ernesti Kaiser 5.Auflage 2017)
docs.python.org ist dein Freund
Programmieren tue ich fast immer offline. Und (deutsches) Buch lesen verstehe ich schneller. Hermann der zeitweise seine Python Kenntnisse aus diesem Buch erweitert, obwohl er ca 9.2006 mit Python Programmierung (vorher weit überwiegend ( ANSI ) C ) angefangen hat. -- http://www.hermann-riemann.de
participants (1)
-
Hermann Riemann