Я использую Python для автоматизации фиксации SVN и хочу записать вывод команды SVN в журнал. файл. Код, который у меня есть, может запустить SVN, но проблема в том, что при успешной фиксации вызов subprocess
не возвращает никакого вывода для моего журнала.
Когда я запускаю SVN вручную, для сравнения, я получаю выходные данные, которые показывают ход выполнения команды и показывают, какие файлы фиксируются. Это то, что я хочу в своем файле журнала. Выводит ли SVN эти данные в буфер, а не в stdout или stderr? Как я могу зафиксировать эти данные для своего журнала?
Вот код, который я использую.:
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()
Когда я запускаю этот код и фиксация выполняется успешно, обе переменные out
и err
пусты.