Python의 메일 명령 - 01 명령줄 앱
첫 번째 단계는 필요한 플래그를 파악하는 것입니다.
대부분의 메일 명령은 다음과 같습니다.
> echo "Body" | mail -s "Subject" -c [email protected] -a /path/to/file/Intrcall.pdf -r [email protected] [email protected]
이메일 본문을 mail 명령으로 파이프한 다음 제목, 참조 주소를 설정하고 첨부 파일을 추가하고 발신 주소를 설정하고 마지막으로 대상을 설정합니다.
목표는 위의 명령에서 읽을 수 있고 mail 명령과 동일한 작업을 수행할 수 있는 Python 버전을 작성하는 것입니다.
시작하자!
argparse
Python에는 잘 작동하는 명령줄 인수를 처리하는 내장 라이브러리가 있습니다. 이 라이브러리에는 내가 좋아하지 않는 꽤 많은 마법이 있지만 결과는 스스로를 말해줍니다. 멋진 명령줄 프로그램을 시작하고 Python으로 매우 쉽게 실행할 수 있습니다.
실행할 첫 번째 코드 스니펫은 다음과 같습니다.
#!/usr/bin/env python3
import argparse
def main():
parser = argparse.ArgumentParser()
args = parser_args()
main()
이것은 우리가 실행하는 실행 파일이므로 .py 확장자 없이 저장할 수 있습니다. 프로그램 이름을 pymail로 지정했습니다. (아주 창의적인).
또한 env를 사용하여 python3을 참조하도록 shebang(#!)을 설정했습니다. 이것은 이 스크립트가 어디에서 실행될지, 어떤 버전의 Python이 있는지 또는 어디에 있을지 모르기 때문입니다. 이렇게 하면 연결된 python3이 무엇이든 이 스크립트를 실행하는 데 사용됩니다.
이제 프로그램을 실행 가능으로 표시해야 합니다.
> chmod +x pymail
이제 프로그램을 실행할 수 있습니다.
> ./pymail
>
짜잔! 우리는 아무것도 얻지 못한다! 다소 의외지만! 너무 많은 마법이 일어났습니다.
다음을 시도하십시오.
> ./pymail -h
아래 화면이 표시되어야 합니다. argparse 라이브러리를 사용하여 예쁜 도움말 텍스트를 얻고 첫 번째 플래그를 설정합니다.
usage: pymail [-h]
optional arguments:
-h, --help show this help message and exit
좀 더 설명적인 도움말 텍스트를 추가해 보겠습니다.
parser = argparse.ArgumentParser(description="Mail replacement in python.")
이제 누군가가 도움을 요청할 때 설명이 인쇄됩니다.
> ./pymail -h
usage: pymail [-h]
Mail replacement in python.
optional arguments:
-h, --help show this help message and exit
또한 모든 플래그 뒤에 일부 텍스트를 인쇄하는 에필로그를 추가할 수도 있습니다.
parser = argparse.ArgumentParser(description="Mail replacement in python", epilog="* not a meal replacement *")
다음과 같이 출력됩니다.
> ./pymail -h
usage: pymail [-h]
Mail replacement in python.
optional arguments:
-h, --help show this help message and exit
* not a meal replacement *
이제 argparse가 설정되었고 사용할 준비가 되었습니다. 다음 장에서는 메일 명령을 유용하게 만드는 모든 플래그를 추가할 것입니다!
Reference
이 문제에 관하여(Python의 메일 명령 - 01 명령줄 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/krowemoh/a-mail-command-in-python-a-command-line-app-49go텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)