오늘은 평소에 자주 쓰는 디렉토리 관련 함수들을 포스팅 하려합니다. 현재 디렉토리 반환, 디렉토리 존재 여부, 디렉토리 명 찾기 절대경로 찾기 디렉토리 만들기 경로 만들기 디렉토리 변경 디렉토리 내의 파일 가져오기 등 을 알아보겠습니다. import os import glob # 현재 디렉토리 반환 a = os.getcwd() print("현재 디렉토리는 " + a +'\n') # 디렉토리가 있으면 True, 존재하지 않으면 False 반환 b = os.path.isdir(a) print(a + " 디렉토리가 존재하면 " + str(b)+'\n') # a의 디렉토리 명 -> a의 상위 폴더 c = os.path.dirname(a) print('c는 '+ c +'\n') # a의 절대 경로 -> 현재 디렉..
Tkinter 등의 파이썬 GUI 라이브러리를 이용해 만든 코드를 exe 실행파일로 만드는 방법을 소개합니다. 먼저 pyinstaller 라이브러리가 필요합니다. 실행창에서 다음과 같은 명령어로 pyinstaller를 설치합니다. pip install pyinstaller 저는 conda를 이용해서 아래와 같은 명령어를 사용했습니다. conda install pyinstaller pyinstaller를 설치 완료했으면 이제 원하는 파이썬 코드가 있는 디렉토리로 이동합니다. 실행창에서 디렉토리 이동은 cd 명령어를 사용합니다. cd folder\projects 등 과 같이 자신의 코드가 있는 디렉토리로 이동하시면 됩니다. 그리고 아래와 같은 명령어를 실행시켜주시면 됩니다. pyinstaller main.p..
이번 포스트에서는 miniconda3 설치, 가상환경 생성, 그리고 Pycharm에서 가상환경 사용을 해보겠습니다. miniconda3는 이름에서 유추할 수 있다시피 Anaconda3의 축소판이라고 생각하시면 됩니다. 아나콘다에서는 기본적으로 머신러닝과 관련된 라이브러리 등이 포함되어있어서, 간편하게 한번에 설치 가능한 것이 장점이지만, 저는 이번엔 미니콘다를 다운받아서 필요한 라이브러리 등을 직접 설치해보겠습니다. miniconda download : docs.conda.io/en/latest/miniconda.html 위의 링크를 통해 홈페이지를 접속하시면 본인의 OS환경에 맞게 Install 파일을 선택하실 수 있습니다. 본인의 OS에 맞게 설치파일을 다운로드 완료하였으면 실행해줍니다. 그리고 경로..
#include int main() { // 10x10 동적배열 생성 int** arr = new int* [10]; for (int alloc = 0; alloc < 10; alloc++) arr[alloc] = new int[10]; // 배열을 전부 0으로 초기화 for (int index_d = 0; index_d < 10; index_d++) for (int index_w = 0; index_w < 10; index_w++) arr[index_d][index_w] = 0; int a[10] = { 1,1,1,1,1,1,1,1,1,1 }; arr[0] = a; // 배열 출력 for (int index_d = 0; index_d < 10; index_d++) { for (int index_w = ..
주피터 노트북은 이미 많은 사람들이 편리함을 인정하고, 또 사용하고 있는 웹 기반의 개발환경 중의 하나이다. 이 글에서는 주피터 노트북의 인터페이스와 사용 방법을 중점으로 다루고자 한다. 주피터 노트북을 실행하면 아래와 같은 화면이 나온다. 위와 같이 New -> Python3 를 클릭하여 새 탭을 생성한다. 아래와 같은 화면의 새 탭이 나올 것이다. 빨간 색으로 표시된 영역이 메뉴 바, 파란 색으로 표시된 영역이 툴바(Toolbar)이다. 빨간 색으로 표시된 영역 위의 Jupyter와 제목 등이 쓰여져 있는 라인은 헤더(Header)이다. 그리고 맨 아래 표시된 영역을 셀(Cell)이라 한다. 1. 먼저 메뉴부터 살펴보면 File 설명 New Notebook 새 Notebook을 작성한다. Open 새..
파이썬에서 for 문과 함께 리스트나 문자열 등이 사용될 수 있었다. 뿐만 아니라, 이터러블 객체(Iterable Object)가 존재하는 데, 이터러블 객체를 만들면 for문과 함께 객체를 사용할 수 있다. 다음의 간단한 예제 코드를 살펴보자. class Counter: def __init__(self,start,finish): self.__start = start self.__finish = finish def __iter__(self): return self def __next__(self): if self.__start > self.__finish: raise StopIteration else: self.__start +=1 return self.__start - 1 c = Counter(1,20..
다음의 예제 코드를 보자. class animal: name = "" def __init__(self, initValue=0) : self.__age = initValue print("생성자 실행") def getAge(self): return self.__age def setAge(self,age): self.__age =age def __add__(self,other): return self.__age + other.__age 첫번째 줄부터 보면 먼저 class 키워드를 통해 클래스를 선언할 수 있다. 두 번째 줄에 정의 한 변수는 클래스 전체에서 공통으로 사용되는 변수이다. 아래와 같이 클래스를 통해 객체(인스턴스)를 여러 개 생성할 수 있지만, 그 인스턴스 간의 공유되는 공통의 변수이다. dog ..
__name__ 파이썬의 장점 중의 하나는 다른 사람들이 만든 라이브러리를 쉽게 활용할 수 있다는 점이다. import 문을 통해서 원하는 함수를 쉽게 가져와 사용할 수 있다. 그런데 살펴보다보면 모듈 파일 내에 아래와 같은 형태로 작성된 부분이 존재하는 데, if __name__ == "__main__": 만약 모듈 파일을 프롬프트 창에서 직접 C:> 모듈.py 를 실행할 경우 __name__이 "__main__"이 참이 되어 문장 내의 구문이 실행된다. 반대로 단순히 import를 할 경우 __name__이 "__main__"이 거짓이 되어 실행되지 않는다. 즉, 모듈을 간단히 테스트하기 위해 주로 사용된다. 그리고 __name__은 모듈 안에서 모듈이름을 반환한다. 모듈.__name__ 다음과 같이..