파이썬에 f string이 있습니다. 이 중 {는 replacement field라고 해서 특수한 문자로 취급합니다. 이것을 일반 문자처럼 취급하려면 어떻게 해야하는지 간단하게 알아보고 실습도 해 보겠습니다. 먼저 f string이 아닌 문자열입니다. 앞에 f가 붙지 않았어요. 그러면 {과 } 등은 일반 문자로 취급됩니다. a{b}cde가 출력됨을 알 수 있어요. 그런데, 앞에 f가 붙었어요. 그 안에 {와 }가 있는데요. 이렇게 되면 replace가 되어 버려요. f"a{b}cde"는, {b} 대신에 b의 값이 들어가 버립니다. 그래서, 이 프로그램의 실제 결과는 a3cde가 출력되게 됩니다. 실행 결과는 위와 같습니다. 그러면 f string에서 {와 }를 일반 문자처럼 취급하려면 어떻게 해야 할까요..
전체 글 검색 결과
pytest와 pytest-cov를 저는 같이 쓰는 편입니다. report를 할 때 굳이 coverage 측정이 필요 없는 것이 있을 텐데요. 이들을 제외하는 방법을 알아보겠습니다. pytest는 7.2.2, coverage는 7.2.2, pytest-cov는 4.0.0 버전에서 실습하였습니다. 먼저, 프로젝트 request_ex의 구조입니다. pg1 패키지에 a.py가 있고, pg2 패키지에 b.py가 있습니다. 다음에 root에 main.py가 있고, .coveragerc가 있는데요. 이 .coveragerc는 coverage 관련 설정을 적어놓습니다. main.py입니다. pg1.a로부터 feature_a를 import하고, pg2.b로부터 feature_b를 import 했네요. test_a에는,..
notepad++에서 줄 번호 찾아가기 기능에 대해 알아보겠습니다. line 수가 엄청난 파일을 다뤄야 하는 경우가 간혹 가다 있습니다. 예를 들자면 문제 출제할 때 입력 파일의 line 수가 100만줄이 넘어가는 경우도 매우 흔합니다. 이 데이터 파일은 100만줄이 넘네요. 32만번째 줄에 있는 것을 정확히 찾아가려면 어떻게 해야 할까요? 그냥 스크롤 바를 올려버리는 방법도 있습니다만, 일일히 줄 번호를 찾아가기 위해 스크롤바로 이동하면 상당한 인내가 필요할 것입니다. 찾기(S)를 누르면, 줄 찾아가기라는 메뉴가 있습니다. 이를 이용하면 매우 간단합니다. 줄 찾아가기의 단축키는 Ctrl+G입니다. 이것을 눌러 주겠습니다. 그러면 메뉴 선택창에 줄과 오프셋이 있습니다. 오프셋은 밑에서 후술하겠습니다. 이..
어떤 프로그램을 테스트 할 때 pytest를 쓰는 편입니다. 이번 시간에는 print 문으로 출력한 것을 어떻게 콘솔로 볼 수 있는지 알아보겠습니다. 기본적으로 pytest는 capture 옵션을 fd로 받게 되어 있습니다. 이는 문서에도 나와 있는 부분이에요. 1번과 2번 데스크립터에 쓰여지는 내용, 즉 표준 출력과 오류가 모두 캡쳐되는 것이 default입니다. 실험을 하나 해 보겠습니다. 예제 프로그램 1번은 test_feature_a라는 함수를 만들었습니다. 간단하게 "1"을 표준 출력에 출력합니다. 그런데, 1이라는 것은 출력되지 않았습니다. 이는, 문서에 따르면 캡쳐되었기 때문입니다. 이것은 어떨까요? 1.txt에 1이라는 내용을 쓰는 프로그램입니다. 역시 테스트는 성공하였습니다. 1.txt에..
최근댓글