''.join(iterable) 함수는 리스트를 문자열로 합춰주는 기능을 한다.

문자열을 리스트로 쪼개주는 .split() 함수와 정반대의 기능을 한다고 보면 된다.

iterable에는 List, Tuple, Dictionary, Set 등이 들어갈 수 있다.

시간복잡도가 O(n) 밖에 되지 않아 일반적으로 for문을 사용하여 문자열을 합치는 것보다 성능면에서 우월하다.

 

"".join(iterable) 함수 예제

 

"".join(iterable) 실행 결과

 

 

반응형

 

*args

arguments의 줄임말로 args가 아닌 다른 문자열이 들어와도 된다.
ex) *enterprise, *hi, * hello_world

여러개의 argument가 들어올 때 사용한다.

tuple 형태로 들어오며 매개변수 지정시 일반 변수가 존재한다면, 반드시 그보다 뒤에 들어와야 한다.

 

**kwargs

keyword arugments의 줄임말로 kwargs가 아닌 다른 문자열이 들어와도 된다.
ex) **countries, **LikePython, **coffee

여러개의 argument가 key,value값으로 들어올 때 사용한다.

dictionary 형태로 들어오며 매개변수 지정시, 일반 변수 또는 args변수가 존재한다면, 반드시 그보다 뒤에 들어와야 한다.

 

*args, **kwargs test 함수

 

*args, **kwargs test 실행 결과

반응형

자바에 dcm2che 이런 라이브러리들이 많았는데 

파이썬에서는 괜찮은 라이브러리들이 별로 없는 줄 알았다가 찾게 된

mritopng !!

써보니 정말 간단하고 편리했다!

 

https://github.com/danishm/mritopng

 

GitHub - danishm/mritopng: A simple python module to make it easy to batch convert DICOM files to PNG images.

A simple python module to make it easy to batch convert DICOM files to PNG images. - GitHub - danishm/mritopng: A simple python module to make it easy to batch convert DICOM files to PNG images.

github.com

 

여기에 들어가서 다운받은 후, 아래 명령어로 설치하기!

python setup.py install

 

또는 아래 명령어로 설치!

pip install mritopng

 

convert_file이란 함수로 파일 이름 하나하나 짚어가면서 바꿀 수 있고,

convert_folder 함수로 폴더 안에있는 모든 dicom 파일을 (DCM) png로 바꿀 수 있다.

 

import mritopng

# Convert a since file
mritopng.convert_file('/home/user/DICOM/SCAN1', '/home/user/output.png')

# Convert a whole folder recursively
mritopng.convert_folder('/home/user/DICOM/', '/home/user/PNG/')

 

 

 

 

출처 : https://sosal.kr/

반응형

 

윈도우에서 개발한 프로그램이 리눅스 환경에서 실행되어야 한다고 하는데 찾아보니

리눅스에서는 윈도우 응용 프로그램이 실행되지 않는다고 한다.

그래서 나는 exe파일을 정상적으로 작동시키기 위해 Wine이라는 소프트웨어를 사용했다.

 

시작하기 전에 시스템에 설치되어 있는 wine을 제거하자.

설치된 Wine 모두 제거하기

sudo apt-get autoremove wine --purge

+ /.wine 폴더 모두 제거하기

sudo rm -rf ~/.wine

 

아래 홈페이지로 들어가 각 환경 및 버전에 맞게 wine을 다운로드한다.

나는 Ubuntu 21.04 환경에 맞춰 설치를 진행했다.

                                                                            https://wiki.winehq.org/Download

 

Wine 설치를 마친 후, Terminal로 들어가서

1. Ubuntu 64인 경우에만 아래의 구문을 실행하여 32비트를 활성화시켜준다.

sudo dpkg --add-architecture i386

 

2. 이후, 저장소 키를 설치한다.

wget -O-https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add-

 

3. version을 아래 시스템 버전에 맞게 수정한 후, 와인 저장소를 추가한다.

  • Ubuntu 20.04, Linux Mint 20.x : focal
  • 우분투 20.10 : 그루비
  • 우분투 21.04 : hirsute
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ version main'
  • Ubuntu 18.04 및 Linux Mint 19.x : 
sudo add-apt-repository ppa : cybermax-dexter / sdl2-backport

 

4.  Wine 6.9 업데이트 및 설치한다.

sudo apt update && sudo apt install --install-recommends winehq-devel

 

5. 정상적으로 설치를 완료했다면 exe파일을 있는 폴더에서 실행시킨다.

cd test; wine test.exe

 

반응형

List list = new ArrayList(); 와 ArrayList list = new ArrayList(); 의 차이는 무엇인가.

클래스를 생성할 때 도형 타입으로 생성하게 되면 정사각형이 아닌 다른 직사각형, 삼각형 등 도형 인터페이스를 구현한

클래스에서 사용 될 수 있다. 하지만 정사각형 클래스로 생성하게 되면 직사각형, 삼각형 등 에서는 사용할 수 없다.

 

도형에 비유하여 풀어보면,

 

List는 인터페이스이므로

List list = new ArrayList();

-> 도형 list = new 정사각형();

 

ArrayList는 클래스이므로

ArrayList list = new ArrayList();

-> 정사각형 list = new 정사각형();

반응형

+ Recent posts