나는 큰 파일 전송 (예 : 4GB 정도)을 가지고 있으며 shutil을 사용하는 대신 정상적인 파일 방식으로 열기 및 쓰기 만하므로 진행률을 이동할 수 있습니다 을 따라서.파이썬에서 큰 파일 쓰기 다시 시작
그런 다음 파일 쓰기를 다시 시도하려고 시도했습니다. 어떤 이유로 든 프로세스 중에 골치 아픈 경우입니다. 나는 어떤 운도 가지지 않고 있었다. 나는 소스 파일의 읽기를 상쇄하고 탐색을 사용하는 것이 영리한 조합이라고 생각하지만 지금까지 행운이 없다. 어떤 아이디어?
또한 파일을 읽고 쓸 때 사용할 블록 크기를 결정하는 데 일종의 동적 방법이 있습니까? 나는 그 지역에 꽤 초보자이고, 더 큰 파일을 위해 더 큰 크기를 사용하기 위해 읽었다 (나는 지금 65536를 사용하고있다). 그것을 할 수있는 현명한 방법이 있습니까? 아니면 간단히 추측합니까? 고마워. 여기
은 첨부 된 파일 전송의 코드입니다 : newsrc = open(src, 'rb')
dest_size = os.stat(destFile).st_size
print 'Dest file exists, resuming at block %s' % dest_size
newsrc.seek(dest_size)
newdest = open(destFile, 'a')
cur_block_pos = dest_size
# Start copying file
while True:
cur_block = newsrc.read(131072)
cur_block_pos += 131072
if not cur_block:
break
else:
newdest.write(cur_block)
그것은 추가하고 쓰기 시작 않지만,이 것보다 그 다음에 아마 분명한 이유 끝에 dest_size 더 많은 데이터를 기록 나머지는. 어떤 아이디어?
파일 전송에는 어떤 문제가 있습니까? –
파일에 추가하려고 시도해 주시겠습니까? 당신은 계속해서 글을 찾고 계속할 수 있어야합니다. 파일 모드 "a"를 사용하여 여는 중입니까? –
파일 전송에 문제가 발생하지 않았습니다. 그러나 네트워크상에서 6 + gb만큼 큰 파일을 이동시키는이 코드를 개발하면 새로운 변경 사항을 관찰하고 큰 파일 전송에서 중단 된 부분을 파악할 수 있도록 시작하는 것이 좋습니다. 나는 op에 코드를 추가했다. – Cryptite