IT/파이썬 2024. 6. 27.
@dataclass 데코레이터와 -> 연산자 소개
'@dataclass' 데코레이터와 '->' 연산자에 대해 중점적으로 설명하겠습니다.상세 설명'@dataclass' 데코레이터:'@dataclass'는 Python 3.7부터 도입된 기능으로, 데이터 클래스를 쉽게 만들 수 있게 해줍니다. 이 데코레이터를 사용하면 클래스의 'init', 'repr', 'eq' 등의 메서드를 자동으로 생성해줍니다. 주로 데이터를 저장하고 관리하는 용도로 사용됩니다.'->' 연산자:이는 함수 주석(function annotation)을 위한 구문입니다. 함수의 반환 타입을 명시하는 데 사용됩니다. 'load_config' 함수에서 '-> Config'는 이 함수가 'Config' 타입의 객체를 반환한다는 것을 나타냅니다.예제 코드코드의 각 부분을 자세히 살펴보겠습니다:@da..
IT/파이썬 2024. 6. 21.
argparse - add_argument 인자 설명
argparse 모듈의 add_argument 메서드는 다양한 옵션을 제공합니다. 이 중에서 metavar, type, nargs에 대해 설명하겠습니다.metavarmetavar는 argparse가 생성하는 도움말 메시지에서 인자의 이름을 지정하는 데 사용됩니다. 예를 들어, 인자의 실제 이름 대신 사용자에게 더 이해하기 쉬운 이름을 표시할 수 있습니다.예제import argparseparser = argparse.ArgumentParser(description="Example with metavar")parser.add_argument('-f', '--file', metavar='FILE', help='Input file')args = parser.parse_args()위의 예제에서 -f 또는 --fi..
IT/파이썬 2024. 6. 20.
폴더내 파일리스트를 만드는 스크립트 - 개발 유틸
개발 하다보면 파일리스트를 받아서 처리하도록 하는 스크립트들이 제법 있다. 이럴때 파일리스트를 만드는 것도 일이다. 간단하게 스크립트로 짜두면 편리할 듯 해서, 우리 GPT를 이용하여 열심히 만들어 봤다. https://github.com/bjnhur/make_filelist GitHub - bjnhur/make_filelist: This project provides a Python script to generate a list of files from a specified directory. TheThis project provides a Python script to generate a list of files from a specified directory. The script can filter..
IT/파이썬 2024. 6. 20.
예제 폴더에 들어가는 더미 파일 만들기 스크립트 - 파일명만 있으면
example1.tcl, example2.tcl, txt_example1.txt와 같은 더미 파일을 생성하고, 이 파일들을 압축하여 다운로드할 수 있도록 하겠습니다.더미 파일 생성 및 압축import osimport zipfile# Directory and file namesdirectory = 'example_directory'files = ['example1.tcl', 'example2.tcl', 'txt_example1.txt']# Create the directory if it doesn't existif not os.path.exists(directory): os.makedirs(directory)# Create dummy filesfor file in files: with open(..
IT/파이썬 2024. 6. 14.
Pandas - nan 아닌 값이 나오는 위치 찾기
Pandas에서 데이터프레임이나 시리즈 내에서 앞쪽의 NaN 값의 개수를 파악하려면 first_valid_index() 메소드를 사용할 수 있습니다. 이 메소드는 시리즈나 데이터프레임의 컬럼에서 처음으로 유효한 값(즉, NaN이 아닌 값)이 나타나는 위치를 반환합니다. 이를 활용하여 앞쪽에 위치한 NaN의 개수를 계산할 수 있습니다.예제 코드아래 예제는 Pandas 시리즈에서 앞쪽의 NaN 개수를 찾는 방법을 보여줍니다.import pandas as pdimport numpy as np# 예제 데이터 생성data = [np.nan, np.nan, np.nan, 15, 14]series = pd.Series(data)# 첫 번째 유효한 데이터의 인덱스 찾기first_valid_index = series.f..
IT/파이썬 2024. 6. 13.
python-docx - Paragraph 와 Run 이 왜 필요한가?
Paragraph 와 Run 이 왜 필요한가? 계속 궁금했는데, 머 별 내용은 없음 개념적으로 한 문단에서도 다른 스타일을 적용할 수 있고, 하니깐 로직적으로 다른 개념이 필요한듯스타일 바꿀때 마다 문단을 계속 만들수는 없으니깐... python-docx 라이브러리에서 paragraph와 run은 문서 내 텍스트의 구조와 서식을 세밀하게 조절하기 위해 사용됩니다. 이 두 개념이 필요한 이유는 다음과 같습니다:텍스트 구조와 서식의 분리:Paragraph: 문단을 나타내며, 문단 내의 텍스트를 포함합니다. 문단은 주로 한 줄 이상을 가지며, 문단 간의 서식 (예: 단락 간격, 들여쓰기 등)을 설정할 수 있습니다.Run: 문단 내에서의 연속된 텍스트 조각을 나타내며, 특정 서식 (예: 굵게, 기울임, 글꼴, ..
IT/파이썬 2024. 6. 12.
python-docx - tcPr 옵션을 이용해 cell margin 없애기
는 Microsoft Word의 DOCX 파일 형식에서 테이블 셀의 속성을 정의하는 XML 요소입니다. DOCX 파일은 실제로 ZIP 파일 형식으로 압축된 여러 XML 파일로 구성되어 있으며, 이 XML 파일들에서 문서의 내용을 설명합니다.는 "Table Cell Properties"의 약자로, 특정 테이블 셀의 속성을 지정합니다. 이 요소 내에서 다양한 속성을 설정하여 셀의 모양과 동작을 제어할 수 있습니다. 여기에는 셀의 너비, 높이, 테두리 스타일, 셀 병합, 셀 내 텍스트의 방향 등이 포함될 수 있습니다.예를 들어, 다음과 같은 XML 구조에서 요소를 볼 수 있습니다: Cell content 여기서 는 테이블 셀을 나타내고, 그 안의 요..
IT/파이썬 2024. 6. 11.
python-docx - 하이퍼링크 스타일 살리기
Microsoft Word 문서에서 python-docx를 사용하여 테이블의 셀에 하이퍼링크를 추가하는 것은 직접적으로 지원되지 않습니다. 그러나 테이블 셀 내의 문단에 하이퍼링크를 추가하여 비슷한 효과를 낼 수 있습니다. 즉, 셀 안에 문단을 만들고, 그 문단에 하이퍼링크를 추가하는 방법으로 구현할 수 있습니다. 특히 파란색에 밑줄 긋는게 왜이렇게 힘든것인지? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 되는 코드를 싹 적어뒀습니다. 아래는 테이블 셀 내에 하이퍼링크를 추가하는 방법을 보여주는 코드 예시입니다. 이 예시에서는 셀 내의 문단에 하이퍼링크를 추가하고, 해당 하이퍼링크가 문서 내 다른 북마크로 이동하도록 설정합니다.예제: 테이블 셀에 하이퍼링크 추가from docx import Documentfrom docx..
IT/파이썬 2024. 6. 11.
python-docx - 테이블 셀에 단락 서식 적용하기
python-docx 라이브러리에서 테이블 내의 모든 셀에 대해 일관된 단락 서식(예: 줄 간격, 들여쓰기 등)을 적용하는 것은 각 셀의 문단에 개별적으로 설정해야 합니다. python-docx는 테이블의 셀에 대해 공통적으로 서식을 적용할 수 있는 직접적인 방법을 제공하지 않으므로, 모든 셀을 순회하면서 필요한 서식을 설정하는 코드를 작성해야 합니다.아래는 테이블의 모든 셀에 대해 특정 단락 서식을 적용하는 예시입니다. 이 예제에서는 줄 간격과 들여쓰기를 설정합니다.예제: 테이블의 모든 셀에 단락 서식 적용from docx import Documentfrom docx.shared import Ptfrom docx.enum.text import WD_PARAGRAPH_ALIGNMENTdef apply_p..
IT/파이썬 2024. 6. 11.
python-docx - 특정 문단 이후에 문단, 테이블 추가하기
문서에 새로운 요소를 추가하고 참조 문단의 위치를 기억하는 과정을 처리하는 데 있어서, 여러 요소를 일관되게 다룰 수 있도록 코드를 개선하는 것은 중요합니다. 여기에서는 문단과 테이블을 효과적으로 관리하면서 마지막으로 추가된 요소의 위치를 추적하는 방법을 제시하겠습니다.코드 개선 방향insert_paragraph_after 함수는 그 이름과 달리 테이블도 처리할 수 있도록 일반화되어야 합니다. 함수 이름을 insert_element_after로 변경하고, 다양한 요소들을 처리할 수 있도록 수정합니다.함수 내에서 마지막으로 추가된 요소의 타입(문단 또는 테이블)에 따라 상태를 관리할 수 있도록 코드를 수정합니다.개선된 함수def insert_element_after(self, new_element, ref..
IT/파이썬 2024. 5. 21.
'\n'.join(str_buffer) 구문 설명 - join 자동 루프
'\n'.join(str_buffer) 구문은 Python에서 리스트를 돌면서 지정한 문자열을 붙여서 리턴하는 구문입니다.아래 코드를 보고 이해해 봅시다.result_script: 이 변수는 문자열들의 리스트를 담고 있습니다. 각 문자열은 스크립트의 한 줄을 나타냅니다.'\n'.join(result_script): 이 부분은 리스트에 있는 모든 문자열을 하나의 문자열로 결합합니다. 문자열들 사이에는 줄바꿈 문자(\n)가 들어갑니다. 결과적으로, 리스트의 각 요소(문자열)가 하나의 큰 문자열로 연결되고 각 요소는 새로운 줄에서 시작합니다.return '\n'.join(result_script): 이 코드는 결합된 문자열을 함수의 결과로 반환합니다. 이는 함수가 호출된 곳에서 해당 문자열을 사용할 수 있게 ..
IT/파이썬 2024. 5. 20.
파이썬 패턴 처리 기능 - 멀티라인 처리 예제
tcl 스크립트를 보다 보면 맨 마지막 "\" 를 입력하여 한줄짜리 명령을 다중 라인으로 처리하는 경우가 있다. 그리고 문법상으로 {, [, ( 이런 오픈 브레이스 이후의 멀티라인도 한 줄로 처리할 수 있도록 하는 것이 필요하다.이런 찾아내서 한줄로 만드는 코드 샘플을 보자.이 코드는 괄호 { } 사이에 있는 단어를 추출하는 기능을 포함하며, 줄 끝에 있는 \는 단순한 줄바꿈으로 처리하여 해당 줄을 다음 줄과 결합하지만, 공백 없이 연결합니다.import redef join_lines(lines): combined_lines = [] open_brackets = {'{': '}'} stack = [] current_line = "" for line in lines: ..
IT/파이썬 2024. 5. 17.
frozenset 의미와 사용 예제
마찬가지로, 클럭 관계를 정의하는 클래스를 제작하면서 나온 설명입니다. frozenset 의 의미와 용법 정도만 알면 큰 도움이 될듯, 원래 쓴 용도는 클럭 쌍이 순서는 의미가 없는 정보를 저장하기 위해서 코드를 생성했는데 frozenset 을 이용해서 찾아봤습니다. 참고하세요.frozenset은 파이썬에서 제공하는 불변(immutable) 집합 자료형입니다. frozenset은 일반적인 set과 동일한 기능을 제공하지만, 한 번 생성된 이후에는 변경할 수 없습니다. 이를 통해 변경되지 않아야 하는 데이터 구조를 표현할 수 있습니다.frozenset의 주요 특징불변성: frozenset은 생성된 이후 요소를 추가하거나 제거할 수 없습니다. 이로 인해 frozenset은 해시 가능하며, 딕셔너리의 키나 다..
![로딩중](http://t1.daumcdn.net/tistory_admin/static/mobile/m640/img_loading.gif)