借助于前面几章里经历的学习过程 , 我们已然掌握了怎样运用脚本, 针对操作系统施行对文件文件夹的增添、删除、修改以及查询操作 , 去执行操作系统的系统类命令 , 接着运用正则表达式来处置返回的结果 , 随后针对返还的这些结果展开二次的加工举动与加以使用。

此次, 为令咱们的自动化脚本益发灵活, 咱们就得去学习怎样让咱们的脚本处理外部输入与输出, 借由外部输入的各异, 来操控脚本的不同功能。

最简单的输入示例:

name = input("Please input a name: ")
print("Hello, ", name)

python网页自动化教程_input函数使用_python脚本处理外部输入输出

执行结果如上图所示

下面我们来一个稍微复杂点的示例:

def to_seconds(hours, minutes, seconds):
    return hours*3600 + minutes*60 + seconds
print("Welcome to this time converter")
cont = "y"
while cont.lower() == "y":
    hours = int(input("Enter the number of hours: "))
    minutes = int(input("Enter the number of minutes: "))
    seconds = int(input("Enter the number of seconds: "))
    print("That's {} seconds".format(to_seconds(hours, minutes, seconds)))
    print()
    cont = input("Do you want to do another conversion? [y to continue] ")
print("Good bye!")

执行结果如下所示:

input函数使用_python脚本处理外部输入输出_python网页自动化教程

执行结果

输入y可以继续进行时间转换,输出其它任意字符退出。

这里比较关键的两个函数的使用:

把那个能读取标准输入, 返回一个字符串类型变量的input函数, 其括号内是提示字符串, 和那个能对字符串入参进行类型转换, 转换为int类型, 进而参与运算的int函数区分开来。

倘若诸位有着浓厚兴致, 关于上层的基础函数运用情况, 往后会额外开设好几期专题来为大家予以详尽阐述。

下面来讲第二种外部输入方式, 这是由linux系统得出的环境变量。

代码示例如下:

>>> import os
>>> print("HOME: " + os.environ.get("HOME", ""))
HOME: /home/chen // 打印结果
>>> print("SHELL: " + os.environ.get("SHELL", ""))
SHELL: /bin/bash // 打印结果
>>> print("FRUIT: " + os.environ.get("FRUIT", ""))
FRUIT: // 环境变量中没有FRUIT变量,直接返回空字符串

若咱们期望FRUIT存有值, 那么能够于linux shell里执行命令, 将FRUIT变量导出, 而后去尝试一番。

如下图所示:

导出环境变量FRUIT

再次尝试使用脚本打印FRUIT 环境变量的值,结果如下:

>>> print("FRUIT: " + os.environ.get("FRUIT", ""))
FRUIT: Apple // export 变量之后,我们就可以读取到结果了

在进行自动化脚本编写期间, 我们能够借助os. 方式来获取操作系统当下环境变量信息, 而这也是一个关键的输入源头。

下面, 我们来介绍第三种输入方式, 此方式便是命令行参数, 对于命令行参数, 我们常常会借助它来进行某些自定义信息的传入。

如下,我们做了一个最简单的命令行输入参数打印:

import sys
print(sys.argv) // 打印所有命令行参数

python网页自动化教程_python脚本处理外部输入输出_input函数使用

运行结果

使用效果如上图所示,能够获取到所有命令行参数。

事实上, 我们所拥有的sys.argv参数, 乃是一个列表, 凭借这个, 我们能够依据下标, 直接去获取任意一个输入参数所对应的那个值。

python test.py one two three 
// 运行python脚本,带三个命令行参数
print(sys.argv[1])
// 会打印one

好啦, 综上所述的那用于输入信息的几种方式我们讲完了, 较大体而言分作三种。

借助input等方式, 用户进行交互输入, 经由os.这一处理, 直接去获得操作运行系统环境变量, 凭借sys.argv来取得执行脚本时所用到的命令行文参数。

最终, 我们来瞧一瞧脚本的输出情况, 也就是返回的值, 在脚本正常执行完毕之后, 都会返回0。

但若, 我们所拥有的脚本出现了错误情况, 而这种情况若发生, 那就要求返回不是零的数值, 以此来表明脚本执行过程当中存在着报错的状况。

进行错误处理的时候, 我们一般会运用sys.exit()函数, 然后返回非零值。

下面看一个例子:

import os
import sys
filename = sys.argv[1]
if not os.path.exists(filename):
    with open(filename, "w") as f:
        f.write("New file created\n")
else:
    print("Error, the file {} already exists".format(filename))
    sys.exit(1)
// 此处就是如果文件存在,则直接返回非0值
//  表示python脚本执行失败返回

好的, 今天我们暂且讲到这里, 今天所讲的内容, 最好能够跟前几期的连贯起来, 从而进行融会贯通, 如此这般, 你便基本上掌握了如何去写好一个自动化脚本的多数基本技能了。

其后, 仍是那般话语表明, 你所给予的关注以及点赞, 便是促使我去更新的动力所在。要是大家存有某些想要去学习的内容, 然而却又因为正处于无处着手处理的困扰情形下, 那就来关注我吧, 只需留言便可做到, 我会随时撰写文章予以分享的。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐