회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


Python for Maya - 3. pickle (지속 모듈-파일 관리)

artsOne | 2008.02.21 01:57 | 조회 4807
Digital Dream ( http://cafe.naver.com/digitaldream ) 카페의 'Maya Python 시작하기'의
기반으로 복습하는 차원에서 재정리한 것입니다.


pickle은 외부에 데이터를 프로그램이 종료되었어도 데이터를 잃지 않고 저장해두어 나중에 다시 읽어 사용할 수 있도록 하는 모듈이다.

object들을 생성한 후 일부 object를 선택해 준다.
mayaPython00301.jpg
import maya.cmds as cmd
import pickle

f = open('c:/sel_obj.txt', 'w')
pickle.dump(cmd.ls(sl=1), f)
f.close()
위 code를 실행하면 C드라이브에 선택된 object 데이터가 sel_obj.txt가 생성되어 저장한 걸 알 수 있다.
import pickle # pickle 모듈을 사용하기 위해 import 한다.
f = open('c:/sel_obj.txt', 'w') # 파일을 열거나 저장할 때는 항상 파일 변수 = open('파일명', '형태') 함수를 사용하여 파일관리의 시작을 알려주고, c드라이브에 sel_obj.txt 파일명으로 'w' (write) 쓰게 되고 변수 f (파일 변수)에 저장한다는 것이다.

pickle.dump(cmd.ls(sl=1), f) # cmd.ls(sl=1)으로 선택된 object를 pickle.dump( 데이터, 파일 변수 ) 함수로 실질적으로 저장하게 된다.
f.close() # 파일을 다 사용하였으면 꼭 파일을 닫아줘야 한다.

정리해 보면
파일 변수 = open ('파일명', 형태)으로 파일 시작을 알리고 (형태 - 'w' 저장, 'r' 읽기)
pickle() 함수로 파일을 저장(dump)할지 읽을지(load), 다음 명령어들을 수행 후
파일 변수.close()로 파일 끝을 내면 된다.


저장된 파일은 ascii로 저정되어서 메모장에서도 열기와 수정이 가능하다.


이제 파일로 저장된 데이터를 불러와 다시 object를 선택해 보자.
f = open('c:/sel_obj.txt', 'r')
cmd.select(pickle.load(f))
f.close()

f = open('c:/sel_obj.txt', 'r') # 다시 파일을 open하게 하고, 'r' 읽기를 사용한다.
cmd.select(pickle.load(f)) # pickle.load(파일변수)로 읽은 것을 select 하게 된다.
f.close() # 파일을 닫는다.

────────────────────────────────────────────
source : http://cafe.naver.com/digitaldream/432 - 'Maya Python 시작하기' 3) pickle
466개(18/24페이지)
마야
번호 제목 글쓴이 조회 날짜
공지 마야 뷰포트 네비게이션 팁 푸딩뱃살 42808 2020.04.06 17:22
공지 Maya 버전 별 Python 버전 푸딩뱃살 64126 2014.01.08 17:59
124 [FX] Lesson 1: Creating nCloth collisions Step 2 사진 첨부파일 artsOne 2165 2008.04.13 17:28
123 [FX] Lesson 1: Creating nCloth collisions Step 1 사진 첨부파일 artsOne 2404 2008.04.13 16:23
122 [참고] Expression Manual 첨부파일 artsOne 2243 2008.04.13 02:44
121 [Script] MEL 기초 #01 - 기초 (자료형) artsOne 3959 2008.04.10 00:28
120 [Base] 선택 우선순위 첨부파일 artsone 2170 2008.04.09 02:47
119 [Script] Python for Maya - 10. polygon vertex random move 사진 첨부파일 artsOne 4619 2008.04.06 23:44
118 [Rigging] Deform > Edit Membership Tool 첨부파일 artsone 2636 2008.04.05 02:28
117 [Rigging] Deform > Wire 활용 artsone 2243 2008.04.05 02:01
116 [Animation] Bake Simulation artsone 1880 2008.04.01 23:04
115 [Rigging] 로프 Stretch Rigging 사진 첨부파일 artsone 2381 2008.03.31 21:40
114 [Rigging] Bouncing Ball Rigging 첨부파일 artsone 2368 2008.03.20 23:29
113 [Rigging] bind 후 object가 2배로 움직이는 현상 막기 첨부파일 artsone 2126 2008.03.08 03:28
112 [Rigging] Lattice와 Rigid bind를 이용한 skinning artsone 2641 2008.03.08 03:18
111 [Script] Python for Maya - 9. polysmooth 자동 설정 (format 변환) 사진 첨부파일 artsOne 4421 2008.03.05 01:18
110 [Script] Python for Maya - 8. random 응용 (if문) 사진 첨부파일 artsOne 4733 2008.02.27 02:22
109 [Script] Python for Maya - 7. random (for문) 사진 첨부파일 artsone 4755 2008.02.26 01:37
108 [Script] Python for Maya - 6. 리스트 자료 다루기 2 사진 첨부파일 artsOne 3836 2008.02.23 17:17
107 [Script] Python for Maya - 5. 리스트 자료 다루기 1 사진 첨부파일 artsOne 3926 2008.02.22 20:27
106 [Script] Python for Maya - 4. set (집합) 사진 첨부파일 artsOne 4831 2008.02.22 17:49
>> [Script] Python for Maya - 3. pickle (지속 모듈-파일 관리) 사진 첨부파일 artsOne 4808 2008.02.21 01:57