윈도우 자동화 툴 - pywinauto 파이썬을 처음 접하면서 우연찮게 알게된 pywinauto. 인터넷 강의 자동 수강 프로그램을 만들어 보느라 알게 되었는데,윈도우의 GUI에 접근하여 마우스,키보드 작업을 자동화할 수 있는 라이브러리이다. 임의의 창을 특정하거나, (없으면 실행하는 것도 가능하다) 창의 모듈을 특정하여 키 입력이나 마우스 입력을 전달하여 사용자가 미리 정의한대로 작업을 자동화하는 것이 가능하다. 이번 글에서는 pywinauto를 설치하고 간단히 사용하는 방법에 대해 알아보도록 하겠다. 0. pywinauto 설치를 위해 pywinauto를 설치하기 위해서는 먼저 SendKeys라는 모듈을 설치해야 한다. SendKeys는 키보드 입력을 가상으로 만들어주는 모듈이다. >> SendKey..
1. 리스트의 원소 정렬하기 파이썬의 리스트의 원소를 정렬하는 가장 쉬운 방법은 sort 매소드를 사용하는 것인 줄 알고 있었다. 즉 다음과 같이 사용하면 된다. >>l = [3,2,1,5,4] >>l.sort() >>l [1,2,3,4,5]문제는 이 sort 메소드는 pop 메소드와 같이 원래 리스트 원본(?)이 변경되는 것인데, 그래서 찾아보았더니 파이썬에서는 sorted라는 내장 함수를 지원하고 있었다. 이 sorted 함수는 원본의 변형없이 정렬된 리스트를 만들어 준다. 따라서 원본이 리스트가 아닌 터플이나 사전, 그리고 문자열이어도 무방하게 사용가능하다. (터플의 경우에는 각 터플의 첫번째 원소를 기준으로 리스트를 정렬하며, 사전의 경우에는 '키'들을 정렬하여 리스트로 만들어 준다.) >>l =..
easyInstall은 소스포지 등에 올라와 있는 모듈을 알맞은 (설치된 파이썬 버전에 맞는) 버전으로 내려 받아 설치까지 한 번에 해주는 기특한 툴이다. 설치는 이 파일을 실행하는 것으로 해결된다. C:\> python ez_setup.py PATHEXT에 .PY를 등록해 놓았다면 명령 프롬프트에서 ez_setup 만 타이핑 해도 된다. 소스 포지상에 ---.egg 이런 식의 파일이 올라와 있으면 easy install로 설치할 수 있는 듯 하다. 이지 인스톨이 설치가 되었다면 시스템 환경 변수에 path = %PATH%;c:\python\scripts 와 같이 scripts 폴더를 추가해주고 설치하면 된다. 대략 다음과 같은 모듈들을 설치해 보았다. easy_install twill easy_inst..
파이썬은 나누기를 제대로 못한다? 대화형 모드를 계산기로 쓰시는 분들이 있다는 이야기는 어지간한 파이썬 자습서 같은 곳에는 다들 나와 있습니다. 예를 들어 이런 식이지요. >>> 100 / 4 25 그럼 이런 건 어떤 가요? >>> 100 / 8 12 좀 이상한데요... >>> (1/4)*100 0 좀 이상한게 아닙니다. 모두 정수부분만 취급을 하고 똑 떨어져 나가버리는 군요. 실수형태로 계산을 하고 싶다면 나누는 수와 나눠지는 수에 모드 float()처리를 합니다. >>> float(1) / float(4) 0.25 혹은 소수점을 붙여서 실수형태로 입력해주면 됩니다. >> 1.0 / 4.0 0.25 이제사 계산을 제대로 하고 있군요. 음... 나누기가 번거로운 저 이유는 뭘까요? 좀 더 연구해봐야겠네요.
파이썬에서 모듈을 반입하는 것은 import 키워드를 사용하여 할 수 있다. 예를 들어 apihelper 라는 모듈을 반입하고자 한다면 다음과 같이 쓰면 된다. import apihelper apihelper라는 모듈은 apihelper.py라는 이름으로 존재할 것이다. 모듈 내에 포함된 함수를 호출하려면 '모듈이름.함수이름'의 형식을 사용한다. 만약 apihelper 모듈 내에 있는 info라는 함수를 호출하려면 다음과 같이 하게 된다. apihelper.info(li) 그런데 만약 자신이 별도로 작성한 모듈을 별도의 디렉토리에 넣어두고 이따금씩 호출하고 싶다면 어떻게 할까. import 키워드는 sys.path에 기재된 디렉토리들을 순서대로 검색하여 모듈 이름을 찾는다. sys.path를 찾아서 해당..
- Total
- Today
- Yesterday
- 파이썬노트북
- 이중리스트를 사용하지 않기
- 우분투
- 변경가능
- iterable
- sorted
- 튜플언패킹
- 함수형
- mutability
- 정렬기준
- 파일입출력
- 사전
- python list
- leapYear
- 복수기준정렬
- short_circuit
- globals()
- jupyter-notebook
- 단어 빈도수
- 파이썬
- locals()
- 리눅스
- 반복자
- 리스트
- Lambda
- 표준입력
- 정렬키
- Python
- dict
- ipython-notebook
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |