Bir SVN işlemini otomatikleştirmek için Python kullanıyorum ve SVN komutunun çıktısını bir günlük dosyasına yazmak istiyorum. Sahip olduğum kod, SVN'yi çalıştırabilir, ancak sorun, başarılı bir işlemde, subprocess
çağrısının günlüğüm için herhangi bir çıktı döndürmemesidir.Subprocess.Popen() kullanıldığında, stderr ve stdout'un hiçbir çıkışı yok
SVN'yi manuel olarak çalıştırdığımda, karşılaştırmalı olarak, komutun ilerleyişini gösteren ve hangi dosyaların işlendiğini gösteren çıktı alırım. Benim günlük dosyasımda istediğim bu. SVN bu verileri stdout veya stderr'den daha fazla bir tampona mı veriyor? Günlüğüm için bu verileri nasıl kaydedebilirim?
cmd = "svn commit --non-interactive --no-auth-cache -m 'Automatic commit' ./"
process = subprocess.Popen(cmd,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True)
result = process.wait()
# Output
out = process.stdout.read()
err = process.stderr.read()
Bu kodu çalıştırmak ve taahhüt başarılı, out
ve err
değişkenler hem boş şunlardır:
İşte kullanıyorum kodu.
Bunu nasıl yapmak giriş kimlik gönderebilirim? Aynı şeyi deniyorum ve aynı kullanıcı adı ve parola nasıl gönderileceğini anlayamadım –