실제로 프로젝트에서 UDP를 사용하여 파일을 보내고 있습니다.이 프로토콜은 신뢰할 수 없으므로 각 패킷에 대한 정보를 추가했습니다. 데이터의 인덱스. 그래서 나는 올바른 순서로받은 데이터를 쓸 수 있습니다. 기능을 추구,이 경우에는 효과와 데이터를seek 함수가 특정 위치의 파일을 업데이트 할 수 없습니다. - python
while i < packet_num:
buf,address = recieve_packet(s,data_size+10)
i += 1
if buf:
print(buf)
index = int(buf[0:10].decode())
data = buf[10:]
f.seek(seek_pointer + index*data_size,0)
f.write(data)
list_index.append(index)
했습니다 나는 파일
이 새로운 데이터를 기록하지 처리 내 코드의 일부에서 특정 위치의 바이트를 작성하는 문제가 그냥 파일에 추가됩니다. 나는 "a + b"모드를 사용하여 파일을 엽니 다. tutorialspoint.com에서 인용
예 정확히 "wb"를 사용하여 파일을 열었지만 큰 파일을 처리하기 위해 일부 파일을 보내므로 "ab"가 필요합니다.이 문제에 대한 해결책이 있습니까? –
먼저 'r'모드로 기존 파일을 열고 내용을 가져올 수 있습니다. 그 후,'w' 모드로 파일을 다시 생성하고 기존의 주석을 쓰고, '찾기'하고 새로운 내용을 추가 할 수 있습니다. – Dashadower
@RS Halim 그러나 대용량 파일로 작업하는 경우 메모리 오류가 발생할 수 있습니다. – Dashadower