개발자 블로그 82

[python] float or int list to str list & str to float or int list

파이썬에서 list로 구성된 vector를 파일에 쓰고 싶을 때가 있죠? list는 join을 쓰면 한 줄로 합쳐지는데 str 인자가 들어가야합니다. 그러면 list이 모든 아이템을 한방에 str로 바꿔주면 join으로 합칠 수 있겠죠? 그럴때! 아래와 같이 map을 사용하시면 됩니다. ' '.join(map(str, vector)) list에서 item 간에 구별하는 부분을 띄어쓰기로 하려면 위와 같이 하시면 되고 탭을 쓰고 싶으시면 '\t'.join(map(str, vector)) 와 같이 쓰실 수 있어요. 그럼 이걸 불러왔을 때, 파일에서 한줄을 읽고 다시 나눠줘야겠죠? 그냥 split 쓰시면 list의 item들이 str 형식으로 들어갈거에요. 하지만 vector니까 우린 float나 int로 쓰..

python 2019.04.19

프로세스 id (pid) 활용하여 프로세스 실행 위치 확인하기

pid 검색은 ps 명령어를 활용해서 검색할 수 있습니다.ps를 사용할 때, 그냥 쓰면 모든 프로세스가 나오기 때문에 찾기 어려울 수도 있어서 필터를 사용하고 싶을 경우에는 grep을 사용하면 됩니다. 예시)ps -aux | grep python 위의 예시와 같이 사용하시면, 실행 명령에 python이 있었던 프로세스를 모두 찾을 수 있습니다. 찾은 pid를 활용하여 ls -al /proc/pid 명령을 입력하면, 해당 프로세스 실행 위치를 알 수 있습니다.

ETC/Ubuntu 2019.01.17

[Python] python에서 bash 명령 실행하는 방법

python에서 bash 명령을 실행하는 방법 중에 subprocess 모듈을 활용하는 방법입니다. subprocess 모듈을 활용하면 bash 명령을 단순히 실행만 시킬 수도 있고, 실행한 명령에 대한 결과를 받아올 수도 있습니다. 먼저 실행만 하는 경우로 call 메서드를 활용하면 됩니다. import subprocesssubprocess.call('ls -al', shell=True) 위와 같이 실행하면, ls -al 이라는 명령을 실행하게 되고 결과가 바로 프린트 됩니다. 실행하고, 실행한 결과를 바로 프린트 하는 것이 아니라 결과값을 가지고 특정한 프로세스를 하기 위해서는 check_output 메서드를 활용할 수 있습니다. import subprocessresult = subprocess.ch..

python 2018.06.26

scp를 백그라운드에서 실행하는 방법

nohup scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1 위와 같이 실행하면 비밀번호를 입력할 수 있음비밀번호 입력 후 ctrl+z 입력그러면 아래와 같이 출력될 것임 [1]+ Stopped scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1 여기서 아래와 같이 입력 bg 아래와 같이 출력되면서 시작됨 [1]+ scp file_to_copy user@server:/path/to/copy/the/file > nohup.out 2>&1

ETC/Ubuntu 2018.06.12

docker를 활용한 딥러닝 개발환경 구축

Docker를 활용하면, 여러가지 환경을 사용할 수 있다는 장점은 분명 존재합니다.하지만, docker의 container 내에서 GPU를 사용하는 것은 쉽지는 않습니다.딥러닝 연구&개발이 급진적으로 진행되고 있는 추세에 대해서, nvidia에서는 docker에서 쉽게 GPU를 사용할 수 있게 오픈 소스를 공개하였습니다.그 이름은 바로 nvidia-docker 입니다.아래에 참고 1에 링크를 따라가면, 설치방법이 나와있습니다.docker에서 image를 다운로드 할 때, lateset 버전을 받으면 CUDA 9.0 버전이 필요하게 됩니다. 현재 서버에 9.0이 아닌 다른 버전으로 세팅을 해놓으셨다면, 이전 버전에 대해서도 TAG별로 구분하여 다운로드 받을 수 있게 되어있으니 참고하세요.TAG 명은 아래 ..

ETC/Docker 2017.12.04

프로세스 백그라운드에서 실행하는 방법

실행 명령어 맨 뒤에 & 를 붙이면 백그라운드에서 실행합니다. 하지만, 터미널이 꺼지면 프로세스가 죽어요 터미널을 꺼도 프로세스가 계속 돌아가게 하는 방법은 nohup 이라는 명령어를 맨 앞에 붙여주시면 됩니다. > nohup python hello_world & 위의 예처럼 사용하시면 되요. python 뿐만이 아니라 모든 실행 명령 앞에 붙이면 됩니다. 그러면 이제 프로세스가 돌아가는지 확인을 해봐야되는데 그 명령어는 ps -aux 를 사용하시면 됩니다. 그리고 백그라운드에서 돌아가는 명령어니까, 따로 중지를 시키는 방법이 있어야겠죠? kill -9 [PID] 위의 명령어를 사용하시면 되고, PID는 ps -aux 명령어로 확인하실 수 있어요.

ETC/Ubuntu 2017.09.22

Winodws 10에서 Docker에 설치하기 & Docker 간단한 사용법

Docker는 아래의 docker 링크에서 설치하실 수 있습니다.https://store.docker.com/editions/community/docker-ce-desktop-windows Docker는 원래 windows에서는 Virtual Box를 활용하였지만, windows 10의 경우에는 Hyper-V를 활용하면서 속도가 많이 향상되었습니다. Docker를 설치하는 방법은 .exe 파일을 다운로드 받아서 그냥 설치하시면 되고, 설치 후 재부팅이 되고나면 정상적으로 동작이 다 됩니다. 설치가 완료되었으면, Docker를 사용하실 준비가 다 되었습니다! Docker에는 Container라는 개념과 Image라는 개념이 있습니다. 그 부분에 대해서는 따로 정리는 안 하겠습니다.전혀 모르시면 아래 설명에..

ETC/Docker 2017.09.14

[Python] Requests library 활용할 때, 주소에 한글이 들어가는 경우

위키피디아 검색은 Requests 라이브러리를 활용하여, 제일 뒤에 검색어를 붙여서 날리기만 해도 검색을 할 수 있습니다. 근데 여기서, 한글인 단어를 검색할 경우에 주소에 한글이 들어가는 경우에는, 사용이 안됩니다. 변환을 해줘야해요. python은 간단하게 변환할 수 있는 library가 있습니다. 활용법은 아래와 같습니다. from urllib import parse path = 'https://ko.wikipedia.org/wiki/' word = '아이섀도우' req = requests.get(parse.quote(path+word)) 이렇게 쓰면 사용할 수 있습니다.

python 2017.08.02

[Python] 특정 문자열 제거하는 방법

문자열을 처리하다보면, 특정한 문자열 혹은 기호를 제거하려고 시도하는 경우가 발생합니다. 특히, \n 이나 \t 같은 기호를 제거하는 경우가 많은데 특정 문자열을 제거할 때 편하게 쓸 수 있는 함수가 있습니다. 함수는 replace라는 함수인데, string.replace('바꾸기 전 문자열','바뀐 후 문자열') 과 같이 사용할 수 있습니다. 본래의 목적은 문자열을 바꾸려는 함수이지만, 바뀐 후의 문자열에 아무것도 입력하지 않는 다면 특정 문자열을 제거하는 방법으로 사용할 수 있는 것입니다. 예시) name = '\t\t 꽃 무늬 \n 티셔츠 \t\t' name = name.replace('\t', '').replace('\n', '') 위와 같이 사용하면 \t 와 \n 을 동시에 제거할 수 있습니다.

python 2017.05.27