민감한 변수가 있을 때에는 어떻게 해야 할까요? 예를 들어, AWS_SECRET_KEY 같은 것들입니다. 이들을 프로그램의 환경 변수로 불러와서 코드 내에서 노출을 숨기는 방법이 있는데요. python-dotenv를 사용하는 방법을 소개해 드리겠습니다. django라던지 flask는 비슷한 기능을 하는 패키지가 있으니 찾아보시는 것도 도움이 되실 듯 합니다. 먼저, python-dotenv를 설치하겠습니다. dotenv 내부에는 여러 함수들이 있는데요. 이 중, load_dotenv를 보겠습니다. 설명을 보면, Parse a .env file이라고 되어 있어요. .env 파일을 찾은 다음에, 해당 파일 안에 있는 변수들을 environment 변수에 넣습니다. 즉, dotenv.load_dotenv()를..
python 검색 결과
안녕하세요. 이번 시간에는 python parameter의 default value와 설정할 때 주의해야 할 점이 없는지 알아봅시다. 먼저 default value는 argument를 넘겨받지 않았을 때 대신할 값을 의미합니다. 위 프로그램을 봅시다. x가 있고, test라는 이름을 가진 keyword argument가 있습니다. test=?? 꼴로 붙어있는 것을 볼 수 있을 텐데요. 이 ??를 디폴트 값이라고 이야기 합니다. 저는 이 디폴트 값을 list로 설정했는데요. 실행 결과를 볼까요? 실행 결과를 보았더니, [1], [1, 2]가 떨어집니다. 예상하지 못했던 결과인데요. 왜 그렇게 되었는지 문서를 보면서 차근차근 보도록 하겠습니다. default value는 함수가 define 될 때 생성됩니다..
오늘은 간단하게 함수의 정의에서 흔히 볼 수 있는 *args와 **kwargs에 대해 간단하게 알아보겠습니다. 먼저 *args는 positional arguments들을 받는 무언가를 의미합니다. 그리고 positional arguments는 문서에 따르면 keyword 인자가 아닌 것을 의미합니다. 무슨 이야기인지 모르겠으니, 예제를 한 번 봅시다. 하나는 1과 3을, 다른 하나는 1, 3, 7, 13을 인자로 넘겨줍니다. 함수 a는 args에 있는 모든 원소를 출력하는데요. 어떤 값들이 출력되는지 보겠습니다. 1과 3을 인자로 가지는 함수 a를 호출했을 때에는 1, 3이 출력됩니다. 그리고 1, 3, 7, 13을 인자로 가지는 함수 a를 호출했을 때에는 1, 3, 7, 13이 출력됨을 알 수 있어요...
crontab과 python script 파일을 연동시킬 때 절대 경로 문제가 많이 발생하게 되는데요. 특히나, 스크립트 내에 google api라던지 다른 api와 연동하기 위해 파일을 읽어들일 때 이런 이슈가 발생하곤 합니다. 어떻게 발생했는지 알아보고, 어떻게 python script file의 현재 경로를 얻어오는지도 알아봅시다. 먼저 홈 디렉토리의 test 폴더에 1.py와 emoji.txt가 있습니다. emoji.txt를 읽기 전용으로 열기만 하고 끝내는 프로그램입니다. 이것을 test 폴더 내에서 python3 1.py를 수행했으면 사실상 별 문제가 없었을 겁니다. 그런데, 주기적으로 실행하는 스케쥴러 같은 경우, test 폴더에서 수행하지는 않을 겁니다. 어? 없다고 뜨네요? 왜 그럴까요?..
파이썬에서 딕셔녀리의 첫 번째 원소를 어떻게 가져올까요? iter와 next를 적절히 잘 이용해서 가져오는 방법이 있습니다. 먼저 이해해야 할 것은 iter입니다. object로부터 iterator를 얻어오는데요. 이터레이터. 무언가를 순회하기 위한 도구 정도로 이해하면 적당합니다. 다음 원소를 가리키게 하는 메서드가 있는데요. 그것이 바로 아래에서 설명드릴 next입니다. 설명을 읽어 보면, next item을 이터레이터로부터 얻어온다고 되어 있습니다. 만약에, exhausted가 되면, Stopiteration을 리턴하는데요. default 값이 있다면 default 값을 리턴합니다. 여기까지 내용을 종합해서 정리해 봅시다. 일단, 저는 python 3.9를 쓰고 있으니, 기본적으로 Ordered가 ..
최근댓글