본문 바로가기
728x90
반응형
SMALL

Programming/Python65

[Python] set (집합 자료형) set (집합 자료형) set() 은 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. 집합 자료형은 다음과 같이 set 키워드를 사용해 만들 수 있다. s1 = set([1,2,3]) s1 {1, 2, 3} s2 = set("Hello") s2 {'e', 'H', 'l', 'o'} 집합 자료형의 특징 "Hello" 문자열로 set 자료형을 만들었는데 생성된 자료형에는 l 문자가 하나 빠져 있고 순서도 뒤죽박죽이다. 그 이유는 set에 다음과 같은 2가지 큰 특징이 있기 때문이다. 중복을 허용하지 않는다. 순서가 없다 (Unordered). 리스트나 튜플은 순서가 있기 (ordered) 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있지만 set 자료형은 순서가 없기 (unordered) 때문에 인.. 2022. 9. 4.
ERROR: Could not install packages due to an OSError: [WinError 5] 액세스가 거부되었습니다 ERROR: Could not install packages due to an OSError: [WinError 5] 액세스가 거부되었습니다: 'C:\\Users\\PC\\AppData\\Local\\Temp\\pip-uninstall-n1snqajy\\tqdm.exe' Consider using the `--user` option or check the permissions. # 관리자 권한 명령프롬프트로 접속 python -m pip install --upgrade pip 2022. 8. 22.
[Python] shutil shutil shutil 모듈은 파일과 파일 모음에 대한 여러 가지 고수준 연산을 제공한다. 특히, 파일 복사와 삭제를 지원하는 함수가 제공된다. 개별 파일에 대한 연산에 대해서는 os 모듈을 참조하면 된다. 파일 이동 import os import shutil # path path = 'C:/Users' # List files and directories print("Before moving file:") print(os.listdir(path)) # Source path source = 'C:/Users/source' # Destination path destination = 'C:/Users/destination' # Move source to destination move_file = shutil.. 2022. 8. 19.
[Python] YAML (YAML Ain’t Markup Language) YAML (YAML Ain’t Markup Language) 데이터 쓰기를 위한 또 다른 텍스트 형식이다. YAML은 JSON보다 인간 친화적이므로 소프트웨어에서 작업을 설명하는 데 자주 사용된다. YAML syntax Python과 마찬가지로 YAML은 들여쓰기를 사용하여 문서 구조를 지정한다. 그러나 YAML은 공백만 사용할 수 있으며 탭은 사용할 수 없다. 파이썬과의 또 다른 유사점은 # 주석이 줄로 시작하여 줄 끝까지 계속된다는 것이다. List 목록은 한 줄로 작성할 수 있다. [switchport mode access, switchport access vlan, switchport nonegotiate, spanning-tree portfast, spanning-tree bpduguard en.. 2022. 8. 17.
UnicodeEncodeError: 'cp949' codec can't encode character illegal multibyte sequence UnicodeEncodeError: 'cp949' codec can't encode character illegal multibyte sequence Python의 유니코드가 UTF-8이 아니기 때문에 비영어권 사용자들은 코딩할때 별도의 옵션을 사용해야 한다. 파일을 처리할때도 cp949 오류가 발생하는데 인코딩 타입을 지정하면 해결할 수 있다. # cp949 오류 file = open('파일명', 'w') # 인코딩 지정 file=open('파일명', 'w', encoding='UTF-8') 예제 from IPython.core.magic import register_line_cell_magic @register_line_cell_magic def writetemplate(line, cell): wit.. 2022. 8. 17.
[Python] JSON (JavaScript Object Notation) JSON (JavaScript Object Notation) 데이터 저장 및 교환을 위한 텍스트 형식이다. JSON 구문은 Python과 매우 유사하며 사용자 친화적이다. CSV의 경우 Python에는 JSON 형식의 데이터를 쉽게 쓰고 읽을 수 있는 모듈이 있다. Reading # sw_templates.json { "access": [ "switchport mode access", "switchport access vlan", "switchport nonegotiate", "spanning-tree portfast", "spanning-tree bpduguard enable" ], "trunk": [ "switchport trunk encapsulation dot1q", "switchport mode.. 2022. 8. 17.
[Python] CSV (Comma-Separated Value) CSV (Comma-Separated Value) 테이블 형식 데이터 형식 (tabular data format)이다 (ex: 테이블의 데이터 또는 데이터베이스의 데이터일 수 있음). 이 형식에서 파일의 각 행은 테이블의 행이다. 형식 이름에도 불구하고 구분 기호는 쉼표일 수 없다. 구분 기호가 다른 형식은 고유한 이름을 가질 수 있다 (ex: TSV (탭으로 구분된 값)). 그러나 CSV라는 이름은 일반적으로 모든 구분 기호를 의미한다. # Example of a CSV file (sw_data.csv) hostname,vendor,model,location sw1,Cisco,3750,London sw2,Cisco,3850,Liverpool sw3,Cisco,3650,Liverpool sw4,Cisco.. 2022. 8. 17.
[Python] datetime datetime datetime 모듈은 날짜와 시간을 조작하는 클래스를 제공한다. 모듈 calendar 일반 달력 관련 함수 time 시간 접근과 변환 zoneinfo IANA 표준시 데이터베이스를 나타내는 구체적인 표준시 패키지 dateutil 시간대와 구문 분석 지원이 확장된 라이브러리 예제 from datetime import datetime start_time = datetime.now() # 알고리즘 ~ end_time = datetime.now() print('elapsed time => ', end_time-start_time) https://docs.python.org/ko/3/library/datetime.html datetime — 기본 날짜와 시간 형 — Python 3.10.6 문서.. 2022. 8. 17.
[Python] zip zip python에서 zip()은 내장함수로 같은 길이의 리스트를 같은 인덱스끼리 잘라서 리스트로 반환을 해주는 역할을 한다. retrun하는 객체는 zip object이므로 set이나 list와 같은 sequence 객체로 변환해야 요소의 값을 확인 가능하다. for문에서 사용할 경우, zip object 내부의 요소별로 return한다. zip([1, 2, 3], [4, 5, 6]) list(zip([1, 2, 3], [4, 5, 6])) [(1, 4), (2, 5), (3, 6)] list(zip('ABC', 'EFG')) [('A', 'E'), ('B', 'F'), ('C', 'G')] a = [1, 2, 3, 4, 5] b = ['a', 'b', 'c', 'd', 'e'] c = list(zi.. 2022. 8. 7.
[Python] Logging Module Logging Module logging 모듈은 python 자체에 내장되어 있는 모듈이다. logging은 소프트웨어가 작동 중일 때 발생하는 여러 사건을 추적하고, 이를 통해 어떤 사건이 발생했는지에 따라 어떤 해결책을 내야하는지 판단한다. def cal(a, b): try: result = a/b except ZeroDivisionError: logger.exception("Division by zero is not possible") else: return result 위 코드에서 b에 0을 대입하면 에러가 발생할 것이다. 개발 코드 중에 실수로 b에 0을 대입할 가능성이 있다면 언제 어떻게 에러가 발생하는지 기록으로 남겨두어야 한다. 디버깅을 편리하고 효율적으로 하기 위함이다. Level 설정 .. 2022. 2. 21.
728x90
반응형
LIST