[PYTHON] 파이썬에서 특정 크기의 파일 만들기
PYTHON파이썬에서 특정 크기의 파일 만들기
특정 크기의 파일 (예 : 1GiB)을 만들고 싶습니다. 내용을 채울 것이므로 내용은 중요하지 않습니다.
내가하고있는 일은 :
f = open("E:\\sample", "wb")
size = 1073741824 # bytes in 1 GiB
f.write("\0" * size)
그러나 이것은 끝내기에는 너무 오래 걸립니다. 그것은 대략 1 분을 보낸다. 이것을 개선하기 위해 무엇을 할 수 있습니까?
해결법
-
==============================
1.경고이 솔루션을 사용하면 예상치 못한 결과가 발생할 수 있습니다. UPD보기 ...
경고이 솔루션을 사용하면 예상치 못한 결과가 발생할 수 있습니다. UPD보기 ...
1 새 파일을 만듭니다.
2는 크기 -1 바이트를 찾습니다.
3 쓰기 1 바이트.
4 profit :)
f = open('newfile',"wb") f.seek(1073741824-1) f.write(b"\0") f.close() import os os.stat("newfile").st_size 1073741824
UPD : 내 시스템에서 스파 스 파일을 찾아서 자른다 (Linux + ReiserFS). 필요에 따라 크기가 있지만 실제로 저장 장치의 공간을 소비하지 않습니다. 따라서 이것은 빠른 공간 할당을위한 적절한 해결책이 될 수 없습니다. 나는 단지 25Gib 만 가지고있는 100Gib 파일을 만들었고 아직 25Gib를 무료로 가지고있다.
부 업데이트 : Py3 호환성을 위해 f.write ( "\ 0")에 b 접두사가 추가되었습니다.
-
==============================
2.질문은 이전에 대답되었습니다. 솔루션이 크로스 플랫폼인지 여부는 확실하지 않지만 Windows (NTFS 파일 시스템)에서 완벽하게 작동합니다.
질문은 이전에 대답되었습니다. 솔루션이 크로스 플랫폼인지 여부는 확실하지 않지만 Windows (NTFS 파일 시스템)에서 완벽하게 작동합니다.
with open("file.to.create", "wb") as out: out.truncate(1024 * 1024 * 1024)
이 대답은 찾기와 쓰기를 사용합니다 :
with open("file.to.create", "wb") as out: out.seek((1024 * 1024 * 1024) - 1) out.write('\0')
from https://stackoverflow.com/questions/8816059/create-file-of-particular-size-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] matplotlib에 서브 플로트를 동적으로 추가 / 생성 (0) | 2018.10.26 |
---|---|
[PYTHON] numpy 2D 배열의 열 재정렬 (0) | 2018.10.26 |
[PYTHON] 파이썬 모의는 다른 함수 내의 함수를 패치한다. (0) | 2018.10.26 |
[PYTHON] Alexa 용 AWS 람다 함수에 파이썬 라이브러리를 추가하려면 어떻게합니까? (0) | 2018.10.26 |
[PYTHON] 파이썬에서 함수에서 전역 변수를 정의 할 수 있습니까? [닫힘] (0) | 2018.10.26 |