본문 바로가기
728x90
반응형
SMALL

Programming158

[Python] glob (파일 이름 일람 취득) glob() 파일들의 리스트를 뽑을 때 사용하는데, 파일의 경로명을 이용한다. from glob import glob glob('*.exe') # 현재 디렉터리의 1, 2 exe 파일 ['1.exe', '2.exe'] glob('*.txt') # 현재 디렉터리의 3, 4 txt 파일 ['3.txt', '4.txt'] glob() 함수는 인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉터리의 리스트를 반환한다. 패턴에 *를 입력하면 모든 파일과 디렉터리를 볼 수 있다. 현재 경로가 아닌 다른 경로에 대해서도 조회할 수 있다. glob(r'/Users/a*') # /Users에서 이름이 a로 시작하는 디렉터리나 파일을 찾기 ['/Users/a.jpg', '/Users/ab'] 현재 디렉토리에서 확장자가 .. 2021. 12. 23.
웹 프로그래밍의 이해 (2) URL URL은 네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다. 쉽게 말해서, 웹 페이지를 찾기위한 주소를 말한다. 프로토콜: http 호스트명: www.google.com 포트 번호: 80 경로: /search 쿼리 문자열: q=hello+world 프래그먼트: _top 전체 URL: http://www.google.com:80/search?q=hello+world#_top 프로토콜 : URL에 사용되는 프로토콜을 나타낸다. HTTP 또는 HTTPS일 수 있다. 호스트명 : 웹 서버의 호스트명으로 도메인 이름 또는 IP 주소로 표현할 수 있다. 포트 번호 : 웹 서버 내의 서비스 포트 번호이다. 생략.. 2021. 12. 21.
웹 프로그래밍의 이해 (1) 웹 클라이언트 웹 서버에서 정보를 요청하고 수신하는 소프트웨어 프로그램을 말한다. 웹 브라우저를 사용한 요청 리눅스 curl 명령을 사용하여 요청 리눅스 telnet을 사용하여 요청 직접 만든 클라이언트로 요청 HTTP 메시지 # 요청 메시지 GET /music/jackson HTTP/1.1 Host www.example.com:8080 # 응답 메시지 HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 100 Hello, World! HTTP 프로토콜 클라이언트 (요청 메시지 보내기) 서버 (응답 메시지 받기) 메서드 : GET, POST, PUT, DELETE 중 하나 리소스 URI 헤더 : 요청에 대한 추가 정보 본문 : 요.. 2021. 12. 21.
16. Tkinter 고급 위젯 Tkinter 위젯 위젯은 객체를 생성하여 필요한 속성들을 지정하여 사용한다. 위젯은 부모 컨테이너와 연관하여 어떤 상대적 위치에 놓이게 되는데, Geometry Manager를 사용하여 각 위젯의 위치를 정하게 된다. MyFrame 클래스는 Frame으로부터 상속된 파생클래스이고, 생성자에서 Label 하나를 추가하고 있다. Label은 좌표 (0,0)에 위치 (place)하게 되고, 레이블 안에는 이미지를 넣고 있다. 이미지는 tkinter의 PhotoImage 클래스를 사용하고 있는데, 이 클래스는 .gif 파일 (혹은 PGM) 만을 읽을 수 있다. 다른 이미지 포맷을 사용하기 위해서는 외부 모듈을 사용해야 한다. PhotoImage()에 이미지 파일을 적고 리턴된 객체를 레이블에 지정하면 되는데,.. 2021. 12. 15.
15. GUI툴킷 Tkinter Tkinter tkinter module은 Tcl / Tk 툴킷을 python에서 사용하기 위한 인터페이스 module이다. Tcl은 python과 같은 script 언어이고 Tk는 Tcl을 위한 GUI 툴 킷이다. from tkinter import * root = Tk() label = Label(root, text='Hello World') label.pack() root.mainloop() - Label(root, text='Hello World') : Label 클래스의 첫번째 인수로 root를 사용했는데, 이것의 의미는 root창에 포함되는 콤포넌트로 생성하겠다는 의미이다. - label.pack() : label 객체를 창에 표시하는 역할을 한다. - root.mainloop() : root.. 2021. 12. 15.
14. 데이터베이스 (Database) 데이터베이스 (Database) 기존의 파일시스템에서는 중복된 정보를 효율적으로 처리하는 것이 관점 연구 분야였다. 이 중복을 피하여 정보를 일원화하여 처리를 효율적으로 수행하기 위해서 서로 관련성을 가지며 중복이 없는 데이터의 집합을 유지하는 것을 데이터베이스 (database)라고 한다. SQLite SQLite는 데이터베이스 관리 시스템 (DBMS; Database Management System)이다. DBMS는 여러 사용자 또는 응용 프로그램이 데이터를 저장하거나 조회할 수 있게 도와주는 시스템 또는 소프트웨어이다. 대표적인 DBMS로는 MySQL, PostgreSQL, Oracle, MS-SQL 등이 있다. SQLite는 Oracle이나 PostgreSQL과 같은 큰 규모의 DBMS와 달리 서.. 2021. 12. 15.
13. 네트워크 네트워크 프로그래밍 두 컴퓨터간의 데이터를 주고 받을 수 있도록 프로그래밍을 하는 것을 네트워크 프로그래밍이라 한다. 인터넷 망을 통한 디바이스와 컴퓨터간의 데이터를 주고 받는 것도 역시 네트워크 프로그래밍이라 한다. 두 컴퓨터간에 데이터를 주고 받을려면 물리적 연결이 필요한데 이러한 연결을 도울수 있는 것을 소켓 (socket)이라 한다. 컴퓨터가 서로 연결이 되면 데이터를 주고 받을 수 있다. 여기서 Server는 연결을 대기하는 컴퓨터이며 Client는 연결을 시도하는 컴퓨터를 뜻 한다. Server는 여러 Client를 연결 받아서 관리 할 수도 있다. 모든 데이터 송수신 작업이 끝나면 소켓을 닫으면 두개의 컴퓨터 연결을 사라진다. 소켓 (socket) # server.py 작성 from sock.. 2021. 12. 15.
12. XML (Extensible Markup Language) XML (Extensible Markup Language) 인터넷 웹페이지를 만드는 HTML을 획기적으로 개선하여 만든 언어이다. 홈페이지 구축기능, 검색기능 등이 향상되었고, 웹 페이지의 추가와 작성이 편리해졌다. XML 만들기 from xml.etree.ElementTree import Element, dump node1 = Element("first") node1.text = "안녕" dump(node1) #결과 안녕 root.append(node1) # 노드에 노드 추가하기 node2 = Element("second") node2.text = "Hello" root.append(node2) dump(root) #결과 안녕Hello dump(root) # 속성 추가하기 #결과 안녕Hello XML .. 2021. 12. 15.
11. 파일 입출력 파일 생성하기 소스 코드를 에디터로 작성해서 저장한 후 실행하면 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된다. # 파일 객체 = open(파일 이름, 파일 열기 모드) f = open("새파일.txt", 'w') f.close() 파일을 생성하기 위해 python 내장 함수 open을 사용한다. open 함수는 다음과 같이 "파일 이름"과 "파일 열기 모드"를 입력값으로 받고 결과값으로 파일 객체를 돌려준다. 파일을 쓰기 모드로 열면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성된다. 디렉터리에 파일이 없는 상태에서 새파일.txt를 쓰기 모드인 'w'로 열었기 때문에 새파일.txt라는 이름의 새로운 파일이 현재 디렉터리에 생성.. 2021. 12. 15.
10. 예외처리 예외처리 프로그램을 만들다 보면 수없이 많은 오류를 만나게 된다. 이를 위해 python은 try, except를 사용해서 예외적으로 오류를 처리할 수 있게 해준다. 오류 예외 처리 기법 1. try, except만 쓰는 방법 try: ... except [발생 오류[as 오류 메시지 변수]]: ... 2. 발생 오류만 포함한 except문 try: ... except 발생 오류: ... 3. 발생 오류와 오류 메시지 변수까지 포함한 except문 try: ... except 발생 오류 as 오류 메시지 변수: ... try: # 1을 0으로 나누려고 하면 ZeroDivisionError가 발생 1 / 0 except ZeroDivisionError as e: print(e) try .. finally .. 2021. 12. 15.
728x90
반응형
LIST