Übergabe von Argumenten an os.system

Ich muss den folgenden Befehl über Python ausführen. rtl2gds ist ein Tool, das 2 Parameter einliest: Pfad zu einer Datei und einen Modulnamen

rtl2gds -rtl=/home/users/name/file.v -rtl_top=module_name -syn

Ich lese den Pfad zu dem Datei- und Modulnamen vom Benutzer mit argparse wie folgt ein:

parser = argparse.ArgumentParser(description='Read in a file..')    
parser.add_argument('fileread', type=argparse.FileType('r'), help='Enter the file path')    
parser.add_argument('-e', help='Enter the module name', dest='module_name')    
args = parser.parse_args()    
os.system("rtl2gds -rtl=args.fileread -rtl_top=args.module_name -syn")

Der in args.fileread gelesene Dateipfad gelangt jedoch nicht in das os.system, wenn ich -rtl = args.fileread aufrufe. Stattdessen wird args.fileread selbst als Dateiname angenommen und das Tool kennzeichnet einen Fehler.

Ich bin mir sicher, dass es eine Möglichkeit gibt, Befehlszeilenargumente in os.system oder eine andere Funktion einzulesen (kann ein Unterprozess sein? - konnte aber nicht herausfinden, wie). Jede Hilfe wird geschätzt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage