pepper에 외부 모듈을 추가해 보자. 우선 requests에서.
12238 단어 Choregraphe파이썬HTTPPepper
pepper 개발로 빠진 곳 등을 메모하고 있습니다. (이전 => Pepper의 Python으로 자작 Box 작성을 해 나가는 메모)
파이썬은 요청 모듈이 훌륭합니다. http통신할 때는 적극적으로 사용하고 싶다...단지, pepper라면 pip를 사용할 수 없기 때문에 이하의 순서로 합시다고 이야기입니다.
덧붙여서 사진은 최근 우리 팀에 조인해 준 @ukk0 입니다. 기사 내용과 관련이 없습니다 웃음
Pepper의 HTTP 통신에 Requests 사용 를 참고로 하고 있습니다.
request 모듈
http 요청을 좋은 느낌으로 해주는 모듈입니다.
urllib2
라고 있습니다만, 비교가 되지 않을 정도 간단합니다.$ pip install requests
app.py
import requests
r = requests.get('http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json')
print r.json()["title"]
Qiita 게시물 정보를 가져옵니다.
h tp : // 쿠이타. 이 m / n0 비스케 / ms / d07b5485f4에 767bc6에 20. j 그런
$ python app.py
pepperのpythonでHTTP GETしてJSONパースするサンプル
두 줄로 걸어 버립니다. 간단하네요.
pepper에서 사용
pepper에서는 pip를 사용할 수 없으며 디렉토리별로 찌르는 것이 일반적인 것 같습니다.
github 페이지에서 zip으로 다운로드하여 내용물의
requestsフォルダ
↓
libフォルダ
를 만들고 그 안에 requestsフォルダ
를 넣으십시오.나머지는 마지막 기사 과 같이
Python Script
를 편집합니다.app.py
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
self.framemanager = ALProxy("ALFrameManager")
self.folderName = None
def onUnload(self):
import sys
if self.folderName and self.folderName in sys.path:
sys.path.remove(self.folderName)
self.folderName = None
def onInput_onStart(self):
import sys, os
self.folderName = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "../lib")
if self.folderName not in sys.path:
sys.path.append(self.folderName)
def onInput_onStop(self):
self.onUnload()
self.onStopped()
self.framemanager.getBehaviorPath(self.behaviorId), "../lib"
등은 아까 만든 libフォルダ
에의 경로 지정을 하고 있는 느낌입니다.파이썬 상세하지 않으므로 더 이상 언급하지 않습니다.
app.py
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
self.framemanager = ALProxy("ALFrameManager")
self.folderName = None
def onUnload(self):
import sys
if self.folderName and self.folderName in sys.path:
sys.path.remove(self.folderName)
self.folderName = None
def onInput_onStart(self):
import sys, os
self.folderName = os.path.join(self.framemanager.getBehaviorPath(self.behaviorId), "../lib")
if self.folderName not in sys.path:
sys.path.append(self.folderName)
import requests
r = requests.get('http://qiita.com/n0bisuke/items/d07b5485f4e767bc6e20.json') #←追記
title = r.json()["title"].encode("utf-8") #←追記
self.logger.info(title) #←追記
def onInput_onStop(self):
self.onUnload()
self.onStopped()
이제 마침내
import requests
수 있습니다.나머지는 처음에 쓴 파이썬 코드와 같은 느낌이군요.
실행하여 콜레그래프 대화 상자에 다음과 같이 구문 분석된 문자열이 표시되면 성공합니다.
pepperのpythonでHTTP GETしてJSONパースするサンプル
Reference
이 문제에 관하여(pepper에 외부 모듈을 추가해 보자. 우선 requests에서.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/n0bisuke/items/5b782bb758ce5611cc90텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)