系统管理员Python脚本编程指南说明-第8章文档和报告

本章介绍以下主题:

  • 标准输入和输出

  • 字符串格式化

  • 发送电子邮件

 

8.1 标准输入和输出

        stdin 系统标准输入,stdout 系统标准输出,都是类似文件的对象,可以进行读写。在交互式会话或命令行中运行程序时,stdin 表示用户输入,stdout 表示用户的终端。stdout 作为表达式和 print() 函数的输出,也作为 input 函数的输入提示。

         

                #example

                import sys

                print("Enter number1: ")

                a = int(sys.stdin.readline())

                 

                print("Enter number2: ")

                b = int(sys.stdin.readline())

                 

                c = a + b

                sys.stdout.write("Result: %d" % c)

                 

                input 函数获取输入, print 函数打印输出,input 可以显示输入提示。

                 

                #example

                a = int(input("Enter number1:"))

                b = int(input("Enter number2:"))

                c = a + b

                print("Result: %d" % c)

 

8.2 字符串格式化

        两种格式化的方法,string 类的 format 方法和 % 运算符(从 Python3.6 起引入了一种新的方式叫做 f-string,就是字符串插值)。

 

        foramt 格式化

                 

                #example

                print("first: {}, second: {}".format(1, 2))  # 按序

                print("second: {1}, first: {0}".format(1, 2))  # 不按序

                 

                format 的 {} 中还可以进行对齐,宽度等设置。

         

        % 运算符:

        %d 整数,%s 字符串,%f 浮点数,%c 字符

         

                #example

                print("%d + %d = %d" % (1, 2, 3))

 

8.3 发送电子邮件

        smtplib模块用来发送SMTP 协议的邮件

 

        #example

        import smtplib

        from email.mime.text import MIMEText

        import getpass

         

        hostname = "smtp.xxx.com"

        port = 465

         

        user_name = "email"

        password = getpass.getpass()

        sender = "sender name"

        receivers = ["receiver1_email", "receiver2_email"]

         

        text = MIMEText("Test Email")

        text['Subject'] = 'Test'

        text['From'] = sender

        text['To'] = ', '.join(receivers)

         

        s_obj = smtplib.SMTP_SSL(hostname, port)

        s_obj.login(user_name, password)

        s_obj.sendmail(sender, receivers, text.as_string())

        s_obj.quit()

         

        print('Mail sent successfully')

 

资源下载: