Güncelleme: yerine subprocess.Popen
ait subprocess.call
, sorun çözüldü ı kullandığınızda - Herkes neden ne biliyor? Ve başka bir problem geldi: Çıkışı kontrol etmenin bir yolunu bulamıyorum ... Çıktının subprocess.call
'dan bir dizgeye veya benzeri bir şeye yönlendirilmesi için bir yol var mı? Teşekkürler! Ama bir piton kullandığınızda cmd
Yukarıdaki aynı hat olduğu Popen(cmd,shell=true)
kullanarak çalıştırmak için -Ben yapılandırmak ile Devenv çalıştırmak için bir python komut yazarken "Debug | Win32" Bu yaptığı hiçbir şey
Ben projeler inşa etmek için Devenv
kullanmaya çalışıyorum ve ben devenv A.sln /build "Debug|Win32"
gibi komut istemine bunu yazarken sadece iyi çalışır hiçbir şey göstermiyor. |
'u kaldırırsam, yalnızca "Debug"
olarak değiştirirse, çalışır ...
Bunun neden olduğunu bilen var mı? Ben \
önce |
koyarak denedim ama yine de hiçbir şey olmadı .. Bu kullanıyorum kodudur
:
from subprocess import Popen, PIPE
cmd = ' "C:\\Program Files\\Microsoft Visual Studio 8\\Common7\\IDE\\devenv" solution.sln /build "Debug|Win32" '
sys.stdout.flush()
p = Popen(cmd,shell=True,stdout=PIPE,stderr=PIPE)
lines = []
for line in p.stdout.readlines():
lines.append(line)
out = string.join(lines)
print out
if out.strip():
print out.strip('\n')
sys.stdout.flush()
Ben Debug|Win32
değiştiriyorsanız, ancak çalışmıyor hangi ... |
Debug
ile, bu
Kafamı attıran sadece bir önseziniz hangi kullandıysanız/içe aktarma ifadesini gösterebilir misiniz? –
Tabii, bu kadar: altişlem ithalat POPEN, BORU p = POPEN (cmd, kabuk = Doğru, stdout'u = BORU stderr = BORU) cmd 'gibi bir şeydir ".. (yol)/devenv" çözüm dan/"Debug | Win32" oluştur ... gibi görünüyor | işareti tüm komutun göz ardı edilmesini sağlar ... –
'devenv.com' komutunun tamamını içeren Python'da anında bir compile.bat dosyası yaratıldığını ve sonra 'Popen' işlevini kullanan bir compytite.bat'ın bir çekicilik gibi çalıştığını öğrendim. –