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은 해시 가능하며, 딕셔너리의 키나 다..
IT/파이썬 2024. 5. 17.
@classmethod 사용 예
예제로 JSON 파일에서 어떤 데이터를 읽어와서 객체를 만드는 예제에서 설명을 가져왔습니다. 참고해서 보세요! 왜 사용하는지, 왜 써야 하는지 힌트가 되는 글입니다.import_from_file 메서드는 JSON 파일에서 데이터를 읽어와 ClockRelations 객체를 생성하는 메서드입니다. 이 메서드는 클래스 메서드 (classmethod)로 정의되어 있습니다. 클래스 메서드를 사용하는 이유와 해당 메서드의 작동 방식을 설명하겠습니다.import_from_file 메서드@classmethoddef import_from_file(cls, filename): with open(filename, 'r') as f: data = json.load(f) obj = cls(data['cl..
IT/파이썬 2024. 5. 16.
파이썬에서 파일 열기: `w`와 `wt` 모드의 차이점 및 한글 인코딩 처리
파이썬에서 파일을 열 때 사용하는 open() 함수는 다양한 mode 인자를 통해 파일을 읽기, 쓰기, 추가 등의 작업을 수행할 수 있습니다. 이 글에서는 w와 wt 모드의 차이점과 한글을 제대로 처리하기 위한 인코딩 옵션을 다루어 보겠습니다.w 모드와 wt 모드의 차이점w와 wt는 모두 파일을 쓰기 모드로 여는 것을 의미합니다. 하지만 두 모드 사이에는 약간의 차이가 있습니다.w 모드:파일을 쓰기 모드로 엽니다.파일이 이미 존재하면 그 내용을 모두 지우고 새로 작성합니다.파일이 존재하지 않으면 새 파일을 만듭니다.기본적으로 텍스트 모드로 파일을 엽니다.wt 모드:w 모드와 마찬가지로 파일을 쓰기 모드로 엽니다.t는 텍스트 모드를 의미합니다. 따라서 wt는 파일을 쓰기 모드로 텍스트 형식으로 연다는 것을..
IT/파이썬 2024. 2. 2.
Pydantic none 오류 처리 방법 - Optional 사용
Django ninja 로 API Schema를 만드는데 None type으로 정희한 부분에서 에러가 발생했다. Null이 들은 필드의 값을 받아오는 Schema에서 기본값으로 None을 주면 Exception이 발생하지 않은 것 같은데 갑자기 발생하네 response.items.1.manager2_position Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] For further information visit https://errors.pydantic.dev/2.6/v/string_type 에러 내용은 대충 이러했다. class ProductInSchema(ModelSchema): note..
IT/파이썬 2023. 7. 20.
북마크 - 매력적인 프론트 엔드를 만드는 파이썬 웹 프레임워크 3가지
기본적으로 파이썬으로 모든걸 다 할 수 있다는 읽어볼 만한 글이다. JS로 다 하는세상에서... 앤빌 같은것은 한 번 시도해 봐도 좋을 듯 한데. 매력적인 프론트 엔드를 만드는 파이썬 웹 프레임워크 3가지 https://www.ciokorea.com/news/299707#csidxdd2ba8ab5803138bc386f67c2603081 매력적인 프론트 엔드를 만드는 파이썬 웹 프레임워크 3가지 파이썬은 오래전부터 서버 측 프레임워크용 언어로 쓰였고, 거의 모든 규모, 거의 모든 환경의 프로젝트를 지원한다. 그러나 파이썬은 전통적으로 백 www.ciokorea.com 앤빌(Anvil) Anvil: Web Apps with Nothing but Python Yes, really, nothing but Pyt..
IT/파이썬 2023. 7. 7.
AWS 라이트세일 - 파이썬 코드 백그라운드 돌려놓기
라이트세일 인스턴스 우분투로 깔아서 실행한뒤 파이썬 코드를 실행해 두었는데, ㅋㅋ 연결이 끊어지면 그냥 종료를 해버리네 백그라운드로 그냥 돌려서는 안되네 nohub 명령어를 같이 써줘야 한다는 게 정답 https://dndi117.tistory.com/71 AWS Lightsail에서 가상화폐 자동매매 봇 돌리기 - 초보자도 이해 가능 우선 이 글은 초보자를 위해 쓰여졌다. 내가 초보자고, 이거 하나 알아내는 데도 정말 많은 노력이 들었기 때문에 나랑 비슷한 수준인 사람들이 구글링 좀 덜하고 자동매매 돌릴 수 있었으면 해 dndi117.tistory.com 그런데 이렇게 하더라도, 우분투 서버의 창을 닫으면 코드의 실행이 중단된다. 세션이 끊어지면 실행이 중단되도록 되어있기 때문이다. 그러므로, 코드를 ..
IT/파이썬 2023. 7. 7.
파이썬 - 변수 넘길때 복사인지 포인트만 넘어가는지?
파이썬은 Call by reference? Call by value? Immutable Object인 경우에는 Call by value형식으로 변수를 핸들링하고, Mutable Object인 경우에는 Call by reference형식으로 변수르 핸들링 한다. 그냥 검색하면 나온다 https://velog.io/@yun9yu/ 링크 파이썬은 Call by reference? Call by value? 파이썬은 call by reference일까? call by value일까?아니 그보다 먼저 call by reference와 call by value는 뭐야?두 방식은 함수의 인자 전달 방식이다. 즉, 함수에서 인자를 불러올 때 어떻게 그 값을 호출하는 velog.io 파이썬은 Call by assignm..
IT/파이썬 2023. 6. 30.
FastAPI 에 Nginx 웹서버 필요?
FastAPI, Flask 등등 웹서버를 써야하나 말아야 하나 고민중이라면 한번 읽어보시길~~ FastAPI 개발환경 셋팅으로 배우는 nginx와 웹서버의 관계 nginx와 웹서버의 관계를 이해하기 위해서는 먼저 nginx가 무엇인지 알아야 합니다. nginx는 웹서버 소프트웨어로, 클라이언트의 요청을 받아서 처리하거나 다른 서버에 전달하는 역할을 합니다. nginx는 reverse proxy라고도 불리는데, 이는 nginx가 클라이언트와 실제 서버 사이에 위치하여 요청과 응답을 중계해주는 것을 의미합니다¹. FastAPI는 파이썬으로 작성된 웹 프레임워크로, 비동기적이고 빠르게 API를 개발할 수 있습니다. FastAPI는 ASGI라고 부르는 웹 서버 게이트웨이 인터페이스를 사용하는데, 이는 비동기적으..
IT/파이썬 2023. 5. 24.
Request.is_ajax() 함수
Django 4.0부터 is_ajax() 함수는 제거되었습니다. request.is_ajax() 메서드는 요청이 AJAX 요청인지 여부를 나타내는 부울 값을 반환합니다. 이 메서드는 요청이 AJAX 요청인지 확인하는 데 사용됩니다. request.is_ajax() 메서드는 다음과 같은 방법으로 사용할 수 있습니다. Python if request.is_ajax(): # This is an AJAX request else: # This is not an AJAX request코드를 사용할 때는 주의하시기 바랍니다. 자세히 알아보기 content_copy request.is_ajax() 메서드는 다음과 같은 방법으로 확인할 수 있습니다. X-Requested-With HTTP 헤더가 XMLHttpReques..