subprocess.Popen
aramasını kullanıyorum ve başka bir soruda Python'un komut satırı için nasıl argümanlar ürettiğini yanlış anladığımı öğrendim., alt işlem tarafından çağrılan komut satırını mı çıktı?
Benim Soru
fiili komut satırı ne olduğunu bulmak için bir yol var mı?
Örnek Kod: -
proc = subprocess.popen(....)
print "the commandline is %s" % proc.getCommandLine()
nasıl getCommandLine
yazardınız?
2.6 yaşındayım. Ve 2.6'da en azından, list2cmdline'ın belgelenmemiş olması iyi, çünkü işe yaramıyor: '--arg = foo çubuğu' için python ACTUALLY ne yapıyor? '--arg = "foo bar"' ama list2cmdline ne veriyor? ' --arg = foo bar "'... ama teşekkürler. –
Bence problem, "list2cmdline" ile değil, "shlex.split" ile var. shlex.split ('- arg = "foo çubuğu"') 'tek bir öğeyle bir liste döndürür:' ['--arg = foo bar'] ', shlex.split ('- arg =") foo bar "')' argümanları doğru bir şekilde ayırır: '[' --arg ',' = ',' foo bar ']'. Bu ikinci listede 'list2cmdline' iyi çalışıyor. – unutbu
Bu arada, Python2.6'nın 'subprocess' modülü 'args' bir dizge olmadığında' args'ı bir listeye dönüştürmek için 'list2cmdline''nı kullanır, böylece' 'dönüş değeri olarak gördüklerinize göre çalışır. list2cmdline (args) '' execvp * 'ya da Windows eşdeğerine aktarılmakta olan şeydir. – unutbu