Ho solo bisogno di un suggerimento su come fare le cose correttamente.subprocess.Popen: come passare un elenco come argomento
Dire che ho uno script chiamato script.py che utilizza un elenco di nomi come argomento ["nome1", "nome2", ecc.].
Voglio chiamare questo script da un altro script utilizzando il modulo subprocess. Quindi quello che vorrei fare è la seguente:
myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py", myList])
Certo che non funziona perché il metodo subprocess.Popen richiede una lista di stringhe come argomenti. Così ho pensato di fare quanto segue:
subprocess.Popen(["python", "script.py", str(myList)])
Ora inizia il processo, ma non funziona perché ha una stringa come argomento e non una lista. Come dovrei correggerlo correttamente?
o '.extend()' se non si è sicuri del tipo di argomenti aggiuntivi. –
@NiklasR o '+ list (lista personale)' – falsetru
'extend' è utile solo se si modifica un elenco con nome prima della chiamata. 'subprocess.Popen ([" python "," script.py "]. extend (myList))' passerebbe 'None' (il valore di ritorno di' extend') come primo e unico argomento a 'Popen()'. – chepner