복붙노트

[PYTHON] 어떻게하면 파이썬에서 램 디스크를 만들 수 있습니까?

PYTHON

어떻게하면 파이썬에서 램 디스크를 만들 수 있습니까?

나는 파이썬에서 램 디스크를 만들고 싶다. 크로스 플랫폼 방식으로이 작업을 수행 할 수 있기를 원하므로 Windows XP에서 7, Mac 및 Linux에서 작동합니다. 나는 정상적인 드라이브처럼 램 디스크를 읽고 쓸 수 있기를 원하지만 드라이브 문자 / 경로를 선호한다.

내가 원하는 이유는 특정 구조의 디렉토리를 만드는 스크립트에 대한 테스트를 작성하기 위해서입니다. 램 디스크에 디렉토리를 완전하게 만들고 싶습니다. 그래서 테스트가 끝난 후 완전히 지워질 것입니다. 파이썬의 임시 파일 사용을 고려했지만 중간에 테스트가 중단되면 디렉토리가 삭제되지 않을 수 있습니다. 나는 누군가가 시험 도중에 컴퓨터에 플러그를 꽂아도 삭제된다는 것을 확실히하고 싶다.

해결법

  1. ==============================

    1.PyFilesystem은 어떻습니까?

    PyFilesystem은 어떻습니까?

    http://docs.pyfilesystem.org/en/latest/memoryfs.html#module-fs.memoryfs

    http://docs.pyfilesystem.org/en/latest/tempfs.html#module-fs.tempfs

    단점은 PyFilesystem API를 사용하여 파일 시스템에 액세스해야하지만 PyFilesystem을 사용하여 실제 파일 시스템에 액세스 할 수 있다는 것입니다.

  2. ==============================

    2.파일 및 디렉토리 처리가 매우 저수준이고 OS에 따라 다르므로, 나는 당신이 원하는 것 (또는 심지어 가능할 것)이 무엇이든 의심 스럽다. 가장 좋은 방법은 생성 된 파일과 디렉토리 계층 및 그 내용을 추적하는 함수, 클래스 및 메소드의 "가상"파일 시스템 계열 세트를 구현하는 것일 수 있습니다.

    파일 및 디렉토리 처리가 매우 저수준이고 OS에 따라 다르므로, 나는 당신이 원하는 것 (또는 심지어 가능할 것)이 무엇이든 의심 스럽다. 가장 좋은 방법은 생성 된 파일과 디렉토리 계층 및 그 내용을 추적하는 함수, 클래스 및 메소드의 "가상"파일 시스템 계열 세트를 구현하는 것일 수 있습니다.

    이러한 에뮬레이션에서 호출 가능 객체는 동일한 서명을 가져야하며 응용 프로그램에서 사용하는 다양한 Python 표준 내장 함수 및 모듈에서 해당 값과 동일한 값을 반환해야합니다.

    표준 파이썬 파일 시스템 인터페이스를 에뮬레이션하는 것만 큼 효과가 없을 수도 있습니다. 실제로 사용하는 방법에 따라 실제로 파이썬 파일 시스템 인터페이스를 모방하지 않아도되기 때문입니다. 또한 Pure Python ™으로 작성된 경우 이식성이 뛰어나고 유지 관리 및 향상이 용이합니다.

  3. ==============================

    3.하나의 옵션은 os 모듈에서 사용 된 메소드의 수정 된 버전을 삽입 (원숭이 패치) 할 수있을뿐 아니라 디스크 대신 StringIO 파일에 작성하는 내장 파일과 파일을 삽입하는 것입니다. 분명히이 대체는 테스트 할 모듈에서만 발생해야합니다.

    하나의 옵션은 os 모듈에서 사용 된 메소드의 수정 된 버전을 삽입 (원숭이 패치) 할 수있을뿐 아니라 디스크 대신 StringIO 파일에 작성하는 내장 파일과 파일을 삽입하는 것입니다. 분명히이 대체는 테스트 할 모듈에서만 발생해야합니다.

  4. ==============================

    4.이것을 읽어주십시오 :

    이것을 읽어주십시오 :

    http://docs.python.org/library/tempfile.html#tempfile.TemporaryFile

    그것은 모두 당신을 위해 처리됩니다. 아무것도하지 않고 이미 작동합니다.

  5. from https://stackoverflow.com/questions/4351048/how-can-i-create-a-ramdisk-in-python by cc-by-sa and MIT license