3
open ("file", "a")을 사용하여 파일에 쓰는 경우 설명서에 따르면 새 데이터가 추가되지만 아래 예제에서는 두 번째 명령이 덮어 씁니다 파일. 나는 왜 그런지 모르겠다.Python open + append가 예상대로 작동하지 않습니다.
import subprocess
startupinfo = subprocess.STARTUPINFO()
subprocess.STARTF_USESHOWWINDOW = 1
startupinfo.dwFlags = subprocess.STARTF_USESHOWWINDOW
with open(r"c:\folder\test.txt","a") as log:
Process = subprocess.Popen(['dir'],
stdout = log, stderr = log,
startupinfo = startupinfo,
shell=True)
with open(r"c:\folder\test.txt","a") as log:
Process = subprocess.Popen(['dir'],
stdout = log, stderr = log,
startupinfo = startupinfo,
shell=True)
이미 "a + b"모드를 시도했지만 동일한 결과를 얻었습니다.
가되지 않을 것''log.seek (0, io.SEEK_END)''(와''수입 io'')'사용하는 것보다 더 우아한'stat''? 아니면 어떤 이유로 여기에서 일하지 않습니까? –
당신이 맞을 것 같네요. 나는'seek()'의 두 번째 선택적 매개 변수에 대해 몰랐다. – Holger
좋아요! 죄송합니다. 잠깐 잊어 버렸습니다. 코드는 실제로 더 복잡합니다. 필자가 의미하는 바를 보여주기 위해 필요한 최소한의 코드를 게시했습니다. 그냥 호기심을 벗어나서 버그가 아닌가? 내 말은 내가 "a"로 열면 어떻게 든 파일의 끝에 있어야한다는 것입니다. – Mac