Sadece işleri düzgün yapmanın bir ipucuna ihtiyacım var.subprocess.Popen: Bir listeyi argüman olarak nasıl geçebilir
Script.py adlı bir betiğimde, argüman olarak ["name1", "name2", vb.) Bir liste listesi kullandığını varsayalım.
Bu komut dosyasını alt işlem modülünü kullanarak başka bir komut dosyasından çağırmak istiyorum. subprocess.Popen yöntemi, argüman olarak dizeleri listesini gerektirdiğinden çalışmıyor Tabii
myList = ["name1", "name2", "name3"]
subprocess.Popen(["python", "script.py", myList])
: Yani ne yapmak istiyorsunuz şudur. yüzden aşağıdakileri yaparak kabul: Artık süreç başlar
subprocess.Popen(["python", "script.py", str(myList)])
ama bir argüman olarak dize ve bir liste olduğu için çalışmıyor. Bunu nasıl düzeltebilirim?
veya '.extend() işlevini kullanın. –
@NiklasR veya '+ list (myList)' – falsetru
'extend', yalnızca aramadan önce adlandırılmış bir listeyi değiştirirseniz kullanışlıdır. [altprocess.Popen (["python", "script.py"]. uzat ((myList)) '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' argümanının ilk ve tek argümanı olarak '' uzatma '' değerini döndürür. – chepner