Pythonのメールコマンド- 03標準入力
ようこそ!この時点で、我々はコマンドラインフラグをすべての準備ができている.我々が必要とする次のものは、stdINから入力のどちらかパイプを手に入れるか、手動でそれを入力することです.これらは両方とも同じ感謝です.
Pythonには以下のような入力関数があります:
各行を配列に読み込み、一緒に結合します.NULL文字列で配列を区切ることに注意する必要があります.これは、新しい行文字が既に入力の一部になりますので、手動で追加する必要はありません.
これで次のことができます.
また、私たちのプログラムを本体で配管することもできます.
以降!
Pythonには以下のような入力関数があります:
anything = input()
print(anything)
これは1行のテキストになります.しかし、我々は我々のプログラムにどんな線ででも送りたいです.これを行うには、Pythonからsysモジュールを使ってstdinから読み込むことができます.#!/usr/bin/env python3
import argparse
import sys
def main():
...
args = parser.parse_args()
body = []
for line in sys.stdin:
body.append(line)
body = "".join(body)
print(args)
print(body)
ここでは、Ctrl - Dまでの標準入力をループします.Ctrl - Dは入力のフラッシュをトリガーし、プログラムを継続させる文字です.各行を配列に読み込み、一緒に結合します.NULL文字列で配列を区切ることに注意する必要があります.これは、新しい行文字が既に入力の一部になりますので、手動で追加する必要はありません.
これで次のことができます.
> ./pymail -s "A body" -c test@example.com -c [email protected] -r [email protected] -t [email protected] [email protected]
Hi!
Namespace(attachment=[], cc_address=['[email protected]', '[email protected]'], from_address='[email protected]', html_flag=False, subject='A body', to_address=['[email protected]', '[email protected]'])
Hi!
これは、Pythonメールアプリケーションを実行する本体を提供しましょう.Ctrl - Dを使用して入力を終了します.また、私たちのプログラムを本体で配管することもできます.
> echo "Hi!" | ./pymail -s "A body" -c test@example.com -c [email protected] -r [email protected] -t another_to@ex
ample.com [email protected]
Namespace(attachment=[], cc_address=['[email protected]', '[email protected]'], from_address='[email protected]', html_flag=False, subject='A body', to_address=['[email protected]', '[email protected]'])
Hi!
Voila!我々は今、電子メールの本文を持つことができます.次のステップはメール機能を書くことです.一旦我々がそうするならば、我々は我々のコマンドプロセッサーである我々の主な機能とものの実際の郵送を扱うメール機能を接着することができます.以降!
Reference
この問題について(Pythonのメールコマンド- 03標準入力), 我々は、より多くの情報をここで見つけました https://dev.to/krowemoh/a-mail-command-in-python-03-standard-input-4l5dテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol