작업 디렉토리의 모든 파이썬 객체를 파일에 저장하는 방법

케 모트 25

모든 개체 (또는 최소한 데이터 프레임)를 작업 디렉터리 외부의 한 곳에 저장하는 방법을 찾아야합니다. 저는 파이썬이 모든 객체를 디스크가 아닌 메모리에 보관한다고 가정하므로 현재 세션에서 모든 객체를 내보내는 방법을 찾고 있습니다. 피클이 될 수 있으며 다른 Python 세션에서 읽을 수있을 때까지 중요하지 않습니다.

앙투안

필요를 이해했다면 세션을 백업하고 싶습니다. 이 경우 pickle. Kr.

첫 번째 해결책은 다음과 같습니다.

import pickle

def is_picklable(obj):
    try:
        pickle.dumps(obj)
    except Exception:
        return False
    return True

bk = {}
for k in dir():
    obj =  globals()[k]
    if is_picklable(obj):
        try:
            bk.update({k: obj})
        except TypeError:
            pass

# to save session
with open('./your_bk.pkl', 'wb') as f:
    pickle.dump(bk, f)

    
# to load your session

with open('./your_bk.pkl', 'rb') as f:
    bk_restore = pickle.load(f)

*** 두 번째 솔루션은 dill. 작업 공간에 피클 할 수없는 개체가있는 경우 오류가 발생할 수 있습니다. *** :

import dill

dill.dump_session('./your_bk_dill.pkl')
#to restore session:
dill.load_session('./your_bk_dill.pkl')

세 번째 옵션은 shelve패키지 와 함께 이동 합니다 .

import shelve

bk = shelve.open('./your_bk_shelve.pkl','n')
for k in dir():
    try:
        bk[k] = globals()[k]
    except Exception:
        pass
bk.close()

# to restore
bk_restore = shelve.open('./your_bk_shelve.pkl')
for k in bk_restore:
    globals()[k]=bk_restore[k]
    tmp[k] = bk_restore[k]
bk_restore.close()

평가판에 대해 확인하고 알려주십시오.

크레딧 : 두 번째 및 세 번째 솔루션은 아래 두 링크에서 거의 뻔뻔한 복사 / 붙여 넣기입니다. 원래 답변은 모듈 산세 오류로 이어 지므로 오류 처리를 조정했습니다.
딜 솔루션
선반 솔루션

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

작업 디렉토리의 모든 파일 목록을 검색하는 방법

분류에서Dev

Firebase 저장소 디렉토리의 모든 파일을 삭제하는 방법

분류에서Dev

디렉토리에있는 모든 파일의 줄 수를 얻는 방법

분류에서Dev

파이썬에서 부모 디렉토리의 경로를 얻는 방법

분류에서Dev

디렉토리에서 모든 파일의 확장자를 변경하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 디렉토리와 하위 디렉토리의 모든 심볼릭 링크를 찾는 방법

분류에서Dev

파이썬을 사용하여 디렉토리의 모든 텍스트 파일에서 특정 단어를 찾는 방법

분류에서Dev

현재 디렉토리에서 g로 시작하는 모든 파일의 아카이브를 작성하는 방법

분류에서Dev

내부 메모리 파일에 저장된 모든 이미지를 업로드하는 방법

분류에서Dev

작업 디렉토리의 모든 파일 수를 계산하고 표시하는 방법은 무엇입니까?

분류에서Dev

특정 파일 확장자를 가진 모든 파일을 하위 디렉토리에서 단일 디렉토리로 이동하는 방법

분류에서Dev

배치 작업을 사용하여 "생성 일"파일을 디렉토리의 모든 파일에 추가하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 객체의 모든 행을보고 저장하는 방법은 무엇입니까?

분류에서Dev

디렉토리의 하위 디렉토리를 반복하고 파이썬에서 하위 디렉토리의 파일을 계산하는 방법

분류에서Dev

디렉토리의 모든 .txt 파일에서 줄의 일부를 얻는 방법은 무엇입니까?

분류에서Dev

bash 스크립트를 통해 하위 디렉토리를 건드리지 않고 디렉토리의 모든 파일에 날짜를 추가하는 방법

분류에서Dev

파이썬의 .txt 파일에 모든 경고를 작성하는 방법이 있습니까?

분류에서Dev

R을 작성하여 설정된 디렉토리에있는 모든 파일의 각 워크 시트를 반복하는 방법

분류에서Dev

unix / linux 디렉토리에있는 모든 파일의 파일 확장명을 변경하는 방법

분류에서Dev

parcel-bundler를 사용하여 공용 디렉토리의 모든 파일을 빌드 디렉토리에 추가하는 방법

분류에서Dev

디렉토리 / 하위 디렉토리 아래의 모든 파일에서 텍스트를 검색하는 방법

분류에서Dev

디렉토리 및 하위 디렉토리의 모든 PHP 파일에서 텍스트를 검색하고 바꾸는 방법

분류에서Dev

명령 프롬프트를 사용하여 디렉토리 트리에있는 모든 파일의 확장자 이름을 바꾸는 방법

분류에서Dev

한 디렉토리 아래의 모든 파일과 디렉토리를 다른 디렉토리로 복사하는 Linux 스크립트를 작성하는 방법은 무엇입니까?

분류에서Dev

디렉토리의 모든 텍스트 파일에서 총 줄 수를 얻는 방법

분류에서Dev

c의 디렉토리를 살펴보고 모든 파일 이름과 권한을 인쇄하는 방법

분류에서Dev

접두사를 추가하여 디렉토리의 모든 파일 이름을 바꾸는 방법

분류에서Dev

접두사를 추가하여 디렉토리의 모든 파일 이름을 바꾸는 방법

분류에서Dev

Bash를 사용하여 여러 디렉토리의 모든 파일을 상위 디렉토리로 이동하는 방법

Related 관련 기사

  1. 1

    작업 디렉토리의 모든 파일 목록을 검색하는 방법

  2. 2

    Firebase 저장소 디렉토리의 모든 파일을 삭제하는 방법

  3. 3

    디렉토리에있는 모든 파일의 줄 수를 얻는 방법

  4. 4

    파이썬에서 부모 디렉토리의 경로를 얻는 방법

  5. 5

    디렉토리에서 모든 파일의 확장자를 변경하는 방법은 무엇입니까?

  6. 6

    파이썬에서 디렉토리와 하위 디렉토리의 모든 심볼릭 링크를 찾는 방법

  7. 7

    파이썬을 사용하여 디렉토리의 모든 텍스트 파일에서 특정 단어를 찾는 방법

  8. 8

    현재 디렉토리에서 g로 시작하는 모든 파일의 아카이브를 작성하는 방법

  9. 9

    내부 메모리 파일에 저장된 모든 이미지를 업로드하는 방법

  10. 10

    작업 디렉토리의 모든 파일 수를 계산하고 표시하는 방법은 무엇입니까?

  11. 11

    특정 파일 확장자를 가진 모든 파일을 하위 디렉토리에서 단일 디렉토리로 이동하는 방법

  12. 12

    배치 작업을 사용하여 "생성 일"파일을 디렉토리의 모든 파일에 추가하는 방법은 무엇입니까?

  13. 13

    파이썬에서 객체의 모든 행을보고 저장하는 방법은 무엇입니까?

  14. 14

    디렉토리의 하위 디렉토리를 반복하고 파이썬에서 하위 디렉토리의 파일을 계산하는 방법

  15. 15

    디렉토리의 모든 .txt 파일에서 줄의 일부를 얻는 방법은 무엇입니까?

  16. 16

    bash 스크립트를 통해 하위 디렉토리를 건드리지 않고 디렉토리의 모든 파일에 날짜를 추가하는 방법

  17. 17

    파이썬의 .txt 파일에 모든 경고를 작성하는 방법이 있습니까?

  18. 18

    R을 작성하여 설정된 디렉토리에있는 모든 파일의 각 워크 시트를 반복하는 방법

  19. 19

    unix / linux 디렉토리에있는 모든 파일의 파일 확장명을 변경하는 방법

  20. 20

    parcel-bundler를 사용하여 공용 디렉토리의 모든 파일을 빌드 디렉토리에 추가하는 방법

  21. 21

    디렉토리 / 하위 디렉토리 아래의 모든 파일에서 텍스트를 검색하는 방법

  22. 22

    디렉토리 및 하위 디렉토리의 모든 PHP 파일에서 텍스트를 검색하고 바꾸는 방법

  23. 23

    명령 프롬프트를 사용하여 디렉토리 트리에있는 모든 파일의 확장자 이름을 바꾸는 방법

  24. 24

    한 디렉토리 아래의 모든 파일과 디렉토리를 다른 디렉토리로 복사하는 Linux 스크립트를 작성하는 방법은 무엇입니까?

  25. 25

    디렉토리의 모든 텍스트 파일에서 총 줄 수를 얻는 방법

  26. 26

    c의 디렉토리를 살펴보고 모든 파일 이름과 권한을 인쇄하는 방법

  27. 27

    접두사를 추가하여 디렉토리의 모든 파일 이름을 바꾸는 방법

  28. 28

    접두사를 추가하여 디렉토리의 모든 파일 이름을 바꾸는 방법

  29. 29

    Bash를 사용하여 여러 디렉토리의 모든 파일을 상위 디렉토리로 이동하는 방법

뜨겁다태그

보관