반응형

파이선 135

Python 버퍼보다 큰 데이터 주고받기 (패킷 보내기, 받기)

Python 버퍼보다 큰 데이터 주고받기 앞서 포스트에서 socket을 이용해서 간단하게 packet을 주고 받았다. 동일 컴퓨터에서 server와 client를 만들어서 간단한 문장을 네트워크 연결 후에 전달하였다. TCP 프로토콜로 주고 받았는데 해당내용은 괄호 안에 링크를 참조하길 바란다. (https://scribblinganything.tistory.com/247) 만일 주고받고자 하는 데이터가 파일이거나 용량이 큰 메세지일 경우 그것에 대비해서 무작정 큰 버퍼를 사용하는 것은 자원 낭비이다. 이번장에서 구현할 코드는 보낼 패킷에 패킷의 크기 정보를 같이 보내서 받는 쪽에서 거기에 맞춰어 패킷이 다 들어올때까지 기다리는 형태로 구현 할 것이다. 이 아이디어는 일반적인 네트워크 프로토콜에서 가져왔..

파이썬 문장(string)을 왼쪽, 오른쪽 끝에 배치하고 싶을 때 (":>" 와 ":<"의 의미, 여백 넣기)

Python 문장(string)을 왼쪽, 오른쪽 끝에 배치하고 싶을 때 일반적으로 string을 작성할 때 앞에 여백을 5칸 넣고 싶을 때 가장 간단하게 작성하는 방법은 아래와 같다. string_test = " start" start 문구 앞에 5번 띄워 쓰기를 해서 작성하는 것이다. 만일 20번 이상 띄우거나 할경우 중간에 띄워 쓰기를 실수할 수 도 있다. 그래서 이를 간단하게 해결 하기 위해 제공 되는 문법이 {총 string 숫자 :>}, {총 string 숫자 :> msg = "hi" print(f"{'start':>10}" + "end") print(f'{len(msg):

python socket이란? AF_INET, SOCK_STREAM 의미, 간단하게 텍스트 주고 받는 서버 만들기

python socket이란? Socket(소켓)이란 간단히 설명하면 네트워크에서 패킷을 주고 받을 때 각 end 단에서 application으로 넘어가기전에 받아는 버퍼와 같은 것이다. 서버의 경우 서버에 들어오기 전에 Load balancer가 소켓으로 동작한다고 볼 수 있다. 그리고 클라이언트 측에서는 웹브라우저에 들어가기전에 버퍼역할을 하는 것이 소켓이라고 할 수 있다. AF_INET, SOCK_STREAM 의미 AF_INET, SOCK_STREAM 는 socket을 설정할 때 특성 값이다. AF_INET 는 해당 소켓은 IP version 4 용으로 사용하겠다는 의미이다. SOCK_STREAM 는 해당 소켓에 TCP 패킷을 받겠다는 의미이다. 간단하게 텍스트 주고 받는 서버 만들기 코드 - 서버..

Python으로 wifi 주소 확인하고 비밀번호 입력하여 연결하기 (윈도우 환경)

Python으로 wifi 주소 확인하고 비밀번호 입력하여 연결하기 앞서 블로그에서 wifi 주소 확인할 때 윈도우에 이미 비밀번호가 저장된 환경에서 파이썬으로 접속하였다. 아래 링크 참조하길 바란다. https://scribblinganything.tistory.com/243 만일 저장된 비밀번호를 확인하는 파이썬 코드를 보고 싶다면 아래 링크를 참조하길 바란다. https://scribblinganything.tistory.com/190 이번 장에는 wifi에 새로운 프로필에 접속시 처음으로 비밀번호를 입력해야 하는 경우 와이파이 SSID 주소와 비밀번호를 입력해서 접속하는 코드이다. 코드>> import os os.system("netsh wlan show networks interface=Wi-Fi..

Python으로 wifi 주소 확인하고 연결하기 (윈도우 환경)

Python으로 wifi 주소 확인하고 연결하기 (윈도우 환경) 조건>> window os 환경에서 visual studio 로 python을 사용하여 접속할 수 있는 와이파이 주소 목록을 가져오고 그중에 하나를 접속할 예정이다. 한가지 유의할 점은 접속할 와이파이 비밀번호가 내 윈도우에 이미 저장되어 있다. 그러므로 파이썬에서 비밀번호 없이 접속이 가능하다는 점을 염두해 두자. 다음 글에서 수동으로 SSID와 비밀번호를 입력해서 접속하는 코드를 올리겠다. 코드>> import os os.system("netsh wlan show networks interface=Wi-Fi") Selected_SSID = input('접속을 원하는 SSID를 입력하세요 :') try: os.system(f'''cmd /..

Python 에서 Nmap 설치 하고 네트워크 검색(port)해보기(설치시 에러 해결)

Python 에서 Nmap 설치 하고 네트워크 검색해보기 현재 나는 윈도우 OS를 사용하고 파이썬 프로그래밍 툴로 Visual Studio를 사용한다. 이를 기초로 Nmap을 설치하고 동작 시켜볼 예정이다. Nmap 설치 코드>> import nmap nm = nmap.PortScanner() print(nm.scan('127.0.0.1', '22-443')) 위와 같이 단순한 코드를 동작 시켰다. 하지만 아래와 같은 에러메세지가 발생하였다. AttributeError: module 'nmap' has no attribute 'PortScanner' 웹 검색결과 "pip install nmap" 으로 설치하는 것이 아닌 "pip install python-nmap" 으로 설치하라고 하여 다시 아래와 같이..

파이썬 List 최대, 최소 값 차이 구하기 (feat. 파이썬 동작 시간 측정으로 가장 빠르게 구하는 방법은?)

Python List 최대, 최소 값 차이 구하기 (feat. 파이썬 동작 시간 측정으로 가장 빠르게 구하는 방법은?) 리스트 안에 많은 값들이 있다고 가정을 하고 이 중에 가장 큰 값과 작은 값을 구하는 방법은 여러가지가 있다. 이 중에서 대표적인 2가지 방법으로 아래 2가지 방법을 사용하겠다. min, max 함수를 사용하여 구하기 Python 내장 함수 sort를 사용하여 정렬로 구하기 예제 코드를 통해 구해 보기 코드>> import sys import time import random def max_diff0(values: list[int]) -> int: temp_max = 0 temp_min = sys.maxsize for value in values : temp_min = min(temp_..

selenium 에러발생 시 해결방법 "selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element"

Xpath 검색 시 문제 사항 나라장터 사이트에서 검색을 통해 들어간 페이지에서 text를 가져오려고 하는 파이썬 셀레니움(selenium)을 실행하는 코드를 작성하였다. 하지만 xpath를 통해 검색하였으나 아래와 같은 에러메세지와 함께 코드가 동작되지 않았다. selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element 내가 해결한 방법을 공유하겠다. 공유하기에 앞서 동일한 에러메세지라도 상황에 따라 내 해결책이 적용되지 않을 수 있음을 감안하길 바란다. 해결 코드>> import time from selenium import webdriver driver = webdriver.C..

파이썬으로 이메일 보내기 (gmail 예제 해보기)

Python으로 Gmail에서 이메일 보내기 Gmail을 이용해서 파이썬으로 이메일을 자동으로 보내려고 한다. 우선 기본적인 개념에 대해 설명하자면 smtp라는 이메일을 위한 프로토콜(protocol)이 있다. 이메일을 주고 받을 때 해당 프로토콜에 맞추어 메일 보내야지 컴퓨터나 서버는 문제 없이 읽을 수 있다. 파이썬에서는 이러한 프로토콜을 자동으로 지원하는 smtplib 라는 모듈/라이브러리 가 있다. 해당 모듈을 사용하면 프로토콜을 신경 쓰지 않고 보내는 사람, 받는 사람, 참조(CC), 비밀참조(BCC), 제목, 내용 등 실제 이메일 보낼때 필요한 정보만 입력 하면된다. 우선 GMAIL에서 제공하는 smtp 서버에 접속해서 보내야 하는데 smtp 서버에 접속하려면 아이디와 비밀번호가 필요 하다. ..

파이썬(Python) 2021.07.11

파이썬 리스트(list) 합치기, 중복 내용 지우기, 정렬하기 (예제로 바로 이해하기)

Python list 값 합치고 중복 내용 지우고 정렬하기 코드>> #################################################################### # Raw data #################################################################### x = [0,20,40,60,80,90,100,105,110,115] cae_x = [0,10,20,30,40,50,60,70,80,90,100,115] #################################################################### # Combine x and cae_x # Remove repeated x data # Sort x ..

파이썬(Python) 2021.07.07
반응형