본문 바로가기

프로그래밍 언어 노트/Python

(4)
python defaultdict 과 defaultdict of defaultdict 딕셔너리를 사용하다보면 값을 ++ 해주거나 변경할때 해당 키의 벨류가 있는지 검사를 해줘야한다. 이게 너무 귀찮을때 쓸수있는 모듈로 defaultdict 이있다. from collections import defaultdict ddict = defaultdict(int) defaultdict은 해당 키가 없는경우 파라미터의 기본으로 값을 초기화 해준다. 즉 위 상태에서 ddict['test'] += 1; 을 하면 'test' 키가 없습니다. 라고 오류를 뿜는것이 아니라 그냥 기본값 0 이 들어가고 ddict['test'] 는 1이 된다. 파라미터로 int, set, 뭐 기타등등을 넣을수 있는데 이때 기본값을 좀더 명확하게 정해주고싶을때가 있는데, 예를 들어 defaultdict(default(int)) ..
Python Hex to float import struct import binascii #blah blah~ y = struct.unpack("
Python 폴더의 파일 전부 가져오기 import os import sys for root, dirs, files in os.walk('.\\log'): file_list = list(filter(lambda s: s[-3:] == "log" , files)) file_list.sort() break; 분명 연구는 C++로 하는데 연구실에서 하는 일이 다 그렇듯 나온 데이터 분석하고 분류하고 정리하고 하는 일이 태반이다. 그래서 정작 Python을 가장 많이 만진것같다 흠.. 여튼 로그 분석하는 경우가 잦아 해당 폴더의 모든 로그파일을 가져오는것을 많이 하는데 그럴때마다 위의 코드와 같은 방법을 이용한다. 매번 복사해서 이용하는데 .. 코드만 봐도 딱 알 수 있듯이 \log 폴더의 root,dirs, files 이며 files 에서 log파..
Python 에서 IP 가져오기 연구실에서 다수의 서버에서 실험을 돌리는데 클러스터링이 되있지 않아 전부 수동으로 돌린다 ㅜ 그래서 좀더 편하게 실험 데이터를 뽑기위하여 파이썬 스크립팅을 많이 하는데 이번에는 각 서버에서 돌릴 배치파일을 자동으로 실행시켜주게 하기위하여 자신의 IP 를 가져오는것이 필요해졌다. import socket print(socket.gethostbyname(socket.getfqdn()))#1-1 print(socket.gethostbyname(socket.gethostname()))#1-2 print(socket.gethostbyname_ex(socket.getfqdn()))#2 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#3 s.connect(('8.8.8...