IT/파이썬 2024. 10. 28.
타이밍 기초 - 간단한 제약조건 예제 SDC 구문 예제
SDC에서 제약 조건을 설정하는 주요 명령어와 그 목적을 요약하여 표로 정리하면 다음과 같습니다:제약 조건설명예제 명령어클럭 정의클럭의 주기와 특성을 정의하여 타이밍 분석의 기준을 설정합니다.create_clock -name clk -period 10 [get_ports clk]입출력 지연 설정입력과 출력 신호의 지연 시간을 설정하여 외부 환경과의 타이밍을 맞춥니다.set_input_delay -clock clk 5 [get_ports in]멀티사이클 경로특정 경로가 여러 클럭 사이클에 걸쳐 발생하도록 지정합니다.set_multicycle_path -from A -to B 2False Path특정 경로를 타이밍 분석에서 제외합니다.set_false_path -from A -to B클럭 도메인 그룹서로 다..
IT/파이썬 2024. 10. 4.
디렉토리, 파일 목록 가져오기 - dir, ls, glob
파이썬으로 파일을 다루려면 파일 리스트를 통해 파일을 하나씩 가져오는 기능이 필수적이다. 이럴때 사용되는 라이브러리가 히glob 이다. 간단한 예제를 보면 쉽게 이해할 수 있다. https://wikidocs.net/83 6.3 파일을 입맛대로(pickle, glob, os.path)파일을 입맛대로 요리할 수 있도록 여러 가지 비법을 전수해 드리지요. ## pickle 먼저 조금 복잡한 자료를 파일에 쓰고 읽는 방법부터 알아봅시다. 이럴 때는 `pick…wikidocs.net다음은 glob과 함께 os.path 모듈을 사용한 예제입니다.from glob import globfrom os.path import isdirfor x in glob('*'): if isdir(x): ..
IT/파이썬 2024. 10. 4.
문자열 표현시 r'' 의 비밀
r"C:/DIR" 이런 문자열을 본적이 있다. r은 무엇일까? 원시 문자열(Raw String)원시 문자열은 백슬래시를 해석하지 않는 문자열 리터럴이다. 소문자 "r"을 앞에 붙여 원시 문자열임을 나타낸다.>>> rs = r'c:\newdata\test' # 원시(백슬래시를 해석하지 않음)>>> rs'c:\\newdata\\test'문자열은 입력한 그대로의 리터럴 텍스트다. 백슬래시가 특별히 중요할 때 이것을 사용하면 편리하다. 예: 파일명, 정규 표현식(regular expression) 등
IT/파이썬 2024. 10. 4.
파일 경로 정리하기 - \, /, ./, .. 문자열 처리 등
os.path.normpath(path) 를 이용해서 파일 처리를 하자.그럼 왠만한 경로는 일단 정제가 된다. os.path.normpath(path)중복된 구분자와 상위 수준 참조를 접어 경로명을 정규화합니다. 그래서 A//B, A/B/, A/./B 및 A/foo/../B가 모두 A/B가 됩니다. 이 문자열 조작은 심볼릭 링크가 포함된 경로의 의미를 변경할 수 있습니다. 윈도우에서는, 슬래시를 역 슬래시로 변환합니다. 대소 문자를 정규화하려면, normcase()를 사용하십시오.버전 3.6에서 변경: 경로류 객체를 받아들입니다. https://yeo0.github.io/pg/2018/11/21/%ED%8C%8C%EC%9D%B4%EC%8D%AC-os.path-%EB%AA%A8%EB%93%88/path에..
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..