Python 51

python - ping test 후 결과를 txt 파일로 저장하고, mysql DB에 저장하기 (ping3, pymysql)

이전에 ping test 결과를 txt 파일로 저장하는 것을 진행했었고, txt 파일을 mysql에 INSERT 하는 것을 진행했었따. 그럼 한개의 파이썬 파일로 ping test 결과를 txt 파일로 저장도 하고, mysql에 INSERT 하려면 어떻게 해야 할까? 1. test 하고자 하는 IP들이 저장된 txt 파일(system_list.txt)을 준비 2. system_list.txt 파일에 있는 IP list에 따라 ping test 결과를 확인하고 ping_result.txt 파일로 저장 3. 저장된 ping_result.txt 파일을 mysql DB에 저장 ​ 사실, 해당 작업을 진행하면서 많은 시행착오가 있었는데 해당 내용도 최대한 기록해보고자 한다. 내용이 이해가 가지 않는다면 이전 글을..

Python/Do Something 2023.01.16

python - mysql DB 생성, txt 파일을 DB Table에 넣기 (pymysql)

pymysql을 통해 mysql의 Database, Table을 생성하고 해당 Table에 Data를 수동으로도 넣어보고, txt 파일을 읽어서도 넣어보고자 한다. 우선 pymysql 모듈을 설치한다. pip install pymysql 이제 Mysql에 접속해서 현재 Database를 조회해본다. 신규로 생성할 Database의 이름은 hanguptest_2로 한다. ##Database 생성 절차 'hanguptest_2' import pymysql conn = pymysql.connect(host='localhost', user='root', password='root', charset='utf8') cursor = conn.cursor() sql = "CREATE DATABASE hanguptest..

Python/Do Something 2023.01.16

python 기초 - multiprocessing

이번편은 파이썬의 process에 대한 내용이다. 아래 process를 실행하면 process name과 id 값을 알 수 있고 id는 계속 실행하면 바뀌는 것을 확인할 수 있다. import multiprocessing as mp def Process(): proc = mp.current_process() print(proc.name) print(proc.pid) Process() MainProcess 1136 MainProcess 5936 이번에는 Subprocess라는 이름을 가진 process를 만들고 해당 process를 통해 Process_start라는 함수를 실행시켜 보자. Subprocess id도 확인이 가능하다. import multiprocessing as mp import time ..

Python/Study 2023.01.16

python 기초 - Thread (쓰레드) - daemon, join, 객체 등

이번편은 파이썬의 thread이다. thread는 함수 등을 독립적으로 실행시켜 주기 때문에 아주 중요한 개념이고, schedule과 같이 사용하는 등 다양하게 활용이 가능하다. 우선 첫번째 방법은 thread를 통해 별도의 함수를 실행시키는 것이다. import threading def print_sth(): print("thread test") thd = threading.Thread(target=print_sth) thd.start() thread test 단순하게 함수를 실행시키는거랑 뭐가 다르지? 할 수 있다. 이제 아래 내용을 확인해보자. 실행시키면 첫번째 함수가 다 수행되고, 이어서 다음 함수가 수행된다. 만약 동시에 수행하고 싶다면? import threading import time de..

Python/Study 2023.01.16

python 기초 - queue

이번에는 파이썬의 queue에 대해서 알아보고자 한다. Queue 모듈을 import하면 사용할 수 있다. put은 que에 값을 저장하고, get은 해당 que에서 저장된 값을 하나씩 빼온다고 보면 된다. 아래처럼 1을 que에 넣고 1을 빼서 print하면 1이 출력된다. from queue import Queue que = Queue() que.put(1) print(que.get()) 1 이번에는 que가 쌓인다는것을 보기 위해 1~10까지의 값을 que에 먼저 집어넣고 0.2초마다 한번씩 que에 든 값을 빼서 출력해보자. from queue import Queue import time que = Queue() def queue_put_test(): for i in range(1,11): que..

Python/Study 2023.01.16

python 기초 - decorator

파이썬의 decorator안 데코라는 뜻 처럼 기존 함수를 수정하지 않고 데코레이션을 통해 함수를 수정하는 것이다. 우선 기존의 밋밋한 함수를 보자 def print_test(): print("deco test") print_test() deco test print_test란 함수를 실행시켰는데 해당 무구만 출력되니 뭔가 단조로운 느낌이다. decorator를 사용해서 출력되는 문구의 위 아래에 다른 것들이 출력되도록 하자. def decorator(deco): def deco_print(): print("="*50) deco() print("="*50) return deco_print @decorator def print_test(): print("deco test") print_test() =====..

Python/Study 2023.01.15

python 기초 - 변수가 있는지 확인하기 (hasattr / getattr / setattr)

이번 편은 변수가 있는지 확인하기 (hasattr / getattr / setattr) 이다. 1. hasattr 클래스로 만든 객체에 해당 변수가 있는지 확인한다. 있다면 True, 없다면 False class check(): check1 = 10 check2 = 20 check3 = 30 test = check() print(hasattr(test, "check1")) print(hasattr(test, "check2")) print(hasattr(test, "check3")) print(hasattr(test, "check4")) True True True False 2. getattr 클래스로 만든 객체에 해당 변수가 있는지 확인하고 해당 값을 가져온다. class check(): check1 =..

Python/Study 2023.01.15

python 기초 - 지역변수, 전역변수, 동적변수 (local, global, globals 등)

이번 편에서는 지역변수와 전역변수에 대해 알아보고자 한다. 지역변수는 뭐고 전역변수는 뭘까? 말 그대로 지역 변수란 함수 내에서만 쓸 수 있는 변수이며, 전역 변수는 해당 함수 뿐만 아니라 모든 곳에서 쓸 수 있는 변수이다. 매번 그렇듯 간단한 예제와 함꼐 알아보자. 처음 나오는 변수는 전역변수이고, 함수에서 정의한 지역변수이다. 따라서 함수를 실행시키고 변수값을 확인해도 처음에 설정한 10이 출력된다. local_value = 10 def local(): local_value = 20 local() print(local_value) 10 이번에도 마찬가지로 함수에서 생성한 지역 변수는 함수에서만 20이 적용되고 밖으로 나오면 다시 10이 출력된다. local_value = 10 def local(): ..

Python/Study 2023.01.15

python 기초 - 예외 처리 (try, except, finally, Error처리)

이번에는 예외 처리 (try, except, finally, Error처리)에 대해 다루어보고자 한다. 에러 한번 났다고 파이썬 프로그램이 종료될 수 없으니 예외 처리를 해서 다양한 사태에 대비를 하고 에러 로그를 분석해서 코딩을 더욱 정교하게 수정할 수도 있다. 우선 에러처리기 때문에 에러를 만들어보면서 확인해보자. int("string") 당연히 에러가 난다. PS C:\pymin2> & C:/Users/min/AppData/Local/Programs/Python/Python38/python.exe c:/pymin2/py_study/try,except_test.py Traceback (most recent call last): File "c:/pymin2/py_study/try,except_test...

Python/Study 2023.01.15