str = "1, 2, 3, 4, 5, 6\n" _str = str.split("\n") __str = _str[0].split(",") print num for i in range(num): print "%d" %int(__str[i]) Python에서는 str.split()를 이용해 token으로 나눌 수 있다. 보통 csv파일을 readline()이나 readlines()로 읽으면 위와 같은데 split()을 사용하면 쉽게 원하는 정보를 얻을 수 있다.
import threading import time class ExTimer(threading.Thread): def __init__(self): threading.Thread.__init__(self) # default delay set.. self.delay = 1 self.state = True self.handler = None def setDelay(self, delay): self.delay = delay def run(self): while self.state: time.sleep( self.delay ) if self.handler != None: self.handler() def end(self): self.state = False def setHandler(self, handler): ..
Panda3D에서 윈도우 속성을 마음대로 조절할 수 있는 클래스는WindowProperties 이다. 참조사이트는 http://www.panda3d.org/apiref.php?page=WindowProperties 사용해보니 기존에 사용하던 from pandac.PandaModules import loadPrcFileData 보다 편리하고 깔끔한 것 같다. from pandac.PandaModules import WindowProperties #객체 생성(WindowProperties는 생성자) props=WindowProperties(base.win.getProperties()) #현재 해상도의 width와 height를 저장 w=base.pipe.getDisplayWidth() h=base.pipe...
Panda3D에서는 대부분 프로임단위로 동작하는 task 함수가 있다. 하지만.. 프레임보다 더 빠른 속도로 처리해야할 무엇인가가 있을 때 Thread를 사용하면 유용할 때가 있다.(주로 패킷단위의 프로토콜 전송) Python에는 Thread와 Threading 가 있는데 Threading이 사용하기 편한 것 같다. import threading th = threading.Thread(target=함수이름, args=(변수)) th.start(); def 함수이름(id): #함수내용 #또는 반복문을 사용해서 thread가 항상 실행되도록 한다. 이렇게 하면 task보다 훨씬 빠른 속도로 데이터를 처리할 수 있다.
Python에도 당연히 반복문이 있다. for와 while인데 사용법은 다른 언어(C, Java)와 비슷하지만 else가 있다는 차이점이 있다. for 변수 in 리스트: #반복문장 continue#말 그대로 아래문장실행하지 않고 다음 break#반복문을 빠져 나옴 else: #반복문이 종료된 후 실행되는 문장 하지만 일반적으로 else는 사용하지 않는다. for i in range(5): print i #결과 : 0 1 2 3 4 참고로 range()함수는 리스트를 만드는 함수이다. range(5) #5개의 리스트를 만듦 index는 0부터 시작 #결과: [0, 1, 2, 3, 4] range(3, 8) #3이상 8미만인 리스트를 만듦 #결과: [3, 4, 5, 6, 7] range(1, 100, 10..
일반적인 언어에서 예외처리는 try catch로 매핑되지만 python에서는 try except를 사용한다. 파일입출력이나 시리얼통신에 많이 사용되는데 시리얼통신을 할 경우 이 포트가 열리는 포트인지 안열리는 포트인지 잘 모르기 때문에 포트 오픈 라인에 예외처리를 해주면 포트가 열리지 않았을 경우에도 프로그램이 종료되지 않는다. try: 예외가 발생할만한 문구 except 예외종류, 예외변수: #예외 종류, 변수는 생략가능 예외 발생시 실행되는 문구 else: 예외가 발생하지 않았을 때 실행되는 문구 finally: 예외 방생 여부에 상관하지 않고 실행되는 문구 로 볼 수 있다. 시리얼통신에러의 경우 serial.serialutil.SerialException 라는 에러를 발생시키는데 에러가 발생했을 경..
파이썬에 있는 리스트조건 제시법(list comprehension)은 필터링하거나 함수를 적용하여 한 리스트를 다른 리스트로 변환하는 편리한 방법이다. 리스트 조건 제시법은 다음과 같다. [expression for variable in list] 또는: [expression for variable in list if condition] 예를들어 설명하면 l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] print [v*10 for v in l1 if v>4] 은 다음과 같은 리스트를 출력한다. 리스트 조건제시법은 전체 리스트에 또는 일부 나쁜 항목을 제거할 때 함수를 제공하는 꽤나 깔끔한 방법이다. 딕셔너리를 생성하는 dict생성자를 사용하여 활용할 수도 있다. l1 = [1, 2, 3, 4,..
- Total
- Today
- Yesterday