나는 소유 한 각 과일의 수를 기록한 파일을 가지고 있습니다. 그런 다음 최신 상태로 유지하려면 매분마다 편집해야합니다.끊임없이 파일 업데이트
apples: 3
bananas: 6
oranges: 12
total: 21 fruits
이 파일을 편집하려면 python을 사용하고 싶습니다. 그러나 몇 가지 문제가 발생했습니다 :
1) 현재 읽기/쓰기를 사용하고 있습니다.
with open(file, 'r') as infile:
# read fruits that I have
infile.close()
with open(file, 'w') as outfile:
while True:
# update data and write to file
outfile.close()
(메모리 매핑없이) 더 좋고/더 효율적인 방법이 있습니까? 나는 f.seek (offset, from_what)를 사용하여 시도했지만, 사과 자체가 문제가된다. (사과가 1 자리에서 2 자리로 이동하면 파일의 나머지 부분을 버린다.)
2) 어떻게 변화하고 있는지 어떻게 알 수 있습니까? 나는 "tail -f"를 시도했지만, 현재 파일 전체를 편집하는 방식으로 전체 전체 파일을 추가 할 것입니다.
3) 필자는 while 모양을 입력 할 때 파일을 계속 편집하고 있으므로 고양이 또는 vim 파일을 시도 할 때 불완전합니다. 이상적으로 파일을 열면 파일이 완전히 보이고 업데이트 된 것을 볼 수 있습니다.
읽어 주셔서 감사합니다.
somefile.close()를 사용할 필요가 없습니다. for 문은 일단 범위를 벗어나면이를 수행합니다. 루프를 열기 전에 매번 파일을 열어야합니다 (coutless systemcall이 발생하여 속도가 느려집니다). 어떤 종류의 데이터를 문자열이나 원시 바이트로 작업하고 있습니까? 나머지 코드를 게시 할 수 있습니까? – wind85
@ wind85 나는 Strings와 함께 일하고있다. – ZtoYi
'wb'는 데이터를 바이트로 취급하고 'b'는 바이너리 모드를 나타냅니다. – wind85