Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

Sunday, August 16, 2015

Python PyDev 설치하기

Python 으로 작업을 하던 도중에 Python IDLE이 너무 불편하여 PyDev를 사용해 보기로 하였다. Eclipse 플러그인으로 동작하는 것인데 기존에 이클립스를 썩 좋아하지 않았지만, 파이썬은 툴이 거의 없어서 플러그인으로 사용하니 매우 만족할만한 개발환경을 보여주었다.
설치법은 한번에 설치가 안되고 여러번 나누어서 설치하여야 모든 것이 설치가 된다.


Install New Software를 누른다. 

다음과 같이 PyDev라는 Repository를 Add하고 http://pydev.org/updates를 추가한다. 


모든 항목을 선택 후에 Next.

전부 선택하면 다음과 같이 에러가 난다. 그래서 하나씩 설치하자. 

메인인 PyDev for Eclipse를 먼저 설치하자. 




Apanata를 신뢰한다고 해준다. 

이클립스를 재시작하자. 


그리고 나머지를 같은 방식으로 설치하는데 Django를 가장 나중에 설치한다. 








다시 이클립스를 재시작한다. 




그리고 파이썬 관련 라이브러리도 선택해 준다. Pydev - Interpreter - Python항목이다. 



다음과 같이 PyTest.py를 만들었다. 간단히 print문을 입력하고 F11을 누르면 Console(Output)창에 결과가 나온다. 

다음은 나름대로 색깔을 설정할 수 있다. 

스펠체크를 싫어하면 끄자. 

Friday, April 3, 2015

Python 폴더 열기 다이얼로그

파이썬에서 폴더 이름을 얻을때 사용하는 다이얼로그이다.
윈도우 API에서 SHBrowseForFolder API를 사용하는 것과 비슷하다.
아래의 코드를 수행하면 기본적으로 tk창이 하나 나오고 폴더 선택 다이얼로그가 뜬다.

import tkFileDialog
folder = tkFileDialog.askdirectory()
print "Selected Folder:", folder

Python 파일 열기 다이얼로그

파이썬에서 파일 오픈 다이얼로그이다. OpenFileDialog와 비슷하다.
기본적으로 tkinter이므로 tk창이 뜬다.
askopenfilename은 파일 이름만 얻고 실제로 파일을 열려면 두번째 예제 소스를 이용한다.

import tkFileDialog
file = tkFileDialog.askopenfilename()
print "Selected File:",file

import tkFileDialog
file = tkFileDialog.askopenfile(parent=root,mode='rb',title='Choose a file')
if file != None:
data = file.read()
file.close()

Thursday, September 11, 2014

Python 커맨드라인 아규먼트 받기

#c와 마찬가지로 argv이다. 0번은 *.py(실행소스이름)이 차지하고 있다.
import sys
print sys.argv[0]

#전체 모든 아규먼트를 출력
for arg in sys.argv:
 print arg

Python 디렉토리 순회 탐색하기

#이것도 os의 기능인가보다.
import os

#현재 디렉토리부터 모든 하위디렉토리의 디렉토리와 파일을 보여준다.
for dirname, dirnames, filenames in os.walk('.'):
 for subdirname in dirnames:
  name = os.path.join(dirname, subdirname)
  print name
 for filename in filenames:
  print os.path.join(dirname, filename)

Python 텍스트 파일 읽기

#c:\ProjectList.txt에서 모든 라인을 읽어서 화면에 출력하는 예제
ProjectList= 'c:\\ProjectList.txt'
fo = open(ProjectList, "r")
while 1:
    ln = fo.readline()
    if not ln:
        break
    print ln
fo.close()

Python 예외 처리하기

다음은 파일을 삭제할때 os에서 파일 삭제권한을 안주는 경우의 예외인 OSError를 잡는 경우이다.
pass는 C에서 아무것도 없는 {}과 같이 블럭에서 아무것도 안할 경우 써주는 문장이다.(함수에서 그냥 return과 유사)
import os
try:
  os.remove(filename)
except OSError:
  pass
print 'finished'

다음과 같이 없는 파일을 open하려고 하면 IOError가 발생한다.
else는 마지막인 final이라는 것과 같다.
try:
  fo = open('Makefile.trs', 'r')
except IOError:
  print '### IOError name: ' + name
  os.chdir(cwd)
  continue
else:
...

그리고 C#, Java와 같이 모든 예외를 처리하고자 할때는 다음과 같이 한다.
(catch(Exception e)와 같은 구문을 표현하려 할때)
except:
...

예외의 이름을 주고 싶을때는 다음과 같이 한다.
except WindowsError, we:

한번에 여러가지 예외를 잡고 싶을 때는 다음과 같이 괄호()를 한다.
except (OSError, IOError):

Python 개행문자 처리하기

#s가 문자열이라고 할경우
#파일에서 readline으로 읽은 경우 등 마지막에 \n을 달고 나오는 문자열이 있다.
#그럴때 다음과 같이 처리하면 끝문자를 한개 버릴수가 있다.
#s[:len(s)-1]는 tuple구문인데 처음부터 문자열 길이의 마지막에서 한개 적게 까지 선택하라는 명령이다.
#len은 문자열 길이를 구할수 있다. tuple길이도.

if s[len(s)-1] == '\n':
    s = s[:len(s)-1]