데이터를 살짝 보는 스크립트
Pythn에서 pickle로 절인 데이터 처리
pytohon을 사용할 때, 어려운 데이터를 디스크에 저장하는 것을 고려하지 않을 수 있습니다.
매우 편리하지만 저장된 데이터를 볼 때 좀 번거롭다.
그때 tips
단순 디스플레이
open pickle.저는 로드로 print 스크립트를 만들고 싶어요.
역시 있네..
지령이 좀 길어서 알리스만 만들면 돼요.
각양각색의 상황
단순히 표시하면 상술한 바와 같이 할 수 있지만 복잡한 json(또는 여러 층의 dict)을 저장하고 상호작용을 통해 내용을 보고 싶고classinstance를 저장하고 호출하고 조작하는 방법을 다시 생각해 보고 싶습니다.
데이터 읽기 후 상호 작용 환경 호출
여러 가지 일을 하려면 변수를 만들어 보세요.이런 상태에서 대화 환경을 시작해 사용자에게 맡기는 방법이 생각났다.
나는 이 실현 방법을 조사했다.
ipython에서 호출
python의 강력하고 사용하기 쉬운 대화 환경은 역시 이것이다.
데이터pickle를 읽은 상태에서 ipython을 읽으면 끝입니다.
제가 찾아봤어요.
다음은 됐습니다.
$ ipython -i -c "import pickle; fd = open(<対象ファイル名>, 'rb'); data = pickle.load(fd)"
-i는 처리 후 대화 환경에 들어간 상태에서 stop을 진행한다.- c 매개 변수에 대한 명령을 실행합니다.
클래스 실례를 호출하려면, 이 클래스를 정렬하십시오. 그렇지 않으면 오류가 발생하기 때문에, 이class를 정의하는 모듈을 가져와야 합니다.
거기까지 가면 실 한 가닥 맛도 별로인데...
덧붙여 말하자면, 쓰기에 얽매이지 않고, hogehoge를 처리할 것이다.py에 쓰기
$ ipython -i ./hogehoge.py
하면 됩니다.ipython 호출
반대로py 파일을 만들고 처리를 거친 후 ipython을 호출하는 방법도 있다.
이렇게
import pickle
import IPython
with open(<対象ファイル>, 'rb') as fd:
data = pickle.load(fd)
IPython.start_ipython(user_ns=locals())
start_ipython은 ipython의 상호작용 환경을 호출하는 명령을 사용합니다.매개 변수를 주지 않으면 이전 처리가 어렵지 않기 때문에userns에locals()를 사용하여 이전의 이름과 공간 정보를 모두 던지는 역기.
pickle에서class instance를 읽을 때 용도도 대체적으로 제한되어 있기 때문에 위의python 파일을 만드는 것이 좋습니다.
단, 매개 변수로 파일 이름을 찾을 수 있도록argparse를 추가한 후
ValueError Traceback (most recent call last)
/usr/lib/python3.8/codeop.py in __call__(self, source, filename, symbol)
140 def __call__(self, source, filename, symbol):
--> 141 codeob = compile(source, filename, symbol, self.flags, 1)
142 for feature in _features:
143 if codeob.co_flags & feature.compiler_flag:
ValueError: source code string cannot contain null bytes
아이고argparse 단독/IPython 단독이면 순조롭게 진행됩니다.
미묘한 버전의 문제라고 느꼈지만 차근차근 따지는 게 고통스러워서 포기하고 싶었어요.
서로 다른 대화 환경
파이썬 명령어의 셸을 사용할 수 있는 곳의 xonsh입니다.
gitsome에서 사용하는 것 같아서 ipython을 대체할 수 없습니다.
..결과적으로namespace 계승타 상태에서 xonsh를 시작하는 방법을 찾을 수 없습니다.
시동 자체는 아래에서 진행할 수 있다.
from xonsh import main
main.main()
총결산
단순한 호출 + 대화 환경이라면 ipythn-i-c를 사용하십시오.
복잡하면 미리 hogehoge.py, iptyhon-i hogehoge를 만듭니다.py를 쓰다.
Reference
이 문제에 관하여(데이터를 살짝 보는 스크립트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nfwork01/articles/f9fb6fa6401e44텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)