Я вижу странное поведение, когда открываю файл в режиме добавления ('a +') под Windows 7 с помощью Python.
Мне было интересно, является ли поведение на самом деле некорректным или я неправильно понимаю, как его использоватьследующий код:
log_file= open(log_file_path, "a+")
return_code = subprocess.call(["make", target], stdout=log_file, stderr=subprocess.STDOUT)
log_file.close()
Приведенные выше строки кода неправильно добавляются в файл.На самом деле при последующих запусках он даже не изменяет файл.Я также проверил это с помощью Python Shell.Как только файл был открыт в первый раз, выполнение нескольких вызовов подпроцесса будет правильно добавлено к файлу, однако, как только файл будет закрыт и открыт, он никогда не добавится снова.
У кого-нибудь есть какие-либо подсказки?
Спасибо
Чтобы еще больше просто решить проблему Вот еще один набор шагов, которые не будут выполнены:
log_file=open("temp.txt", "a+")
log_file.write("THIS IS A TEST")
log_file.close()
log_file=open("temp.txt", "a+")
subprocess.call(["echo", "test"], stdout=log_file, stderr=subprocess.STDOUT, shell=True)
log_file.close()
Если вы откроете файл temp.txt, вот что ясм .:
тест
SA MUTHER F ** ТЕСТ