我是靠谱客的博主 背后白猫,这篇文章主要介绍python调用shell命令 批量执行python程序一、问题背景二、不需要获取shell返回结果的三、需要获取返回结果的,现在分享给大家,希望可以做个参考。
一、问题背景
学生写了一个计算器程序test.py,我要去测上面这个5个命令是否能够获得正确的结果
我想写一个python代码,包含上面5个命令,并输出给我看结果,可以实现吗?
二、不需要获取shell返回结果的
使用
复制代码
1os.system(command)
新建judge.py
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14# -*- coding: utf-8 -*- import os os.system("python3 test.py "1 + 2 - 3 + 4"") os.system("python3 test.py "1 + 2 - 3 + 1 / 3"") os.system("python3 test.py "1 + + 2"") os.system("python3 test.py "1 / 0"") os.system("python3 test.py "a + 1"")
三、需要获取返回结果的
我不想用眼睛比较结果是否正确,想让代码自动比较结果是否正确。
但是os.system返回值: 0、1、-1等int的数字.
可以使用
复制代码
1subprocess.Popen("command", stdout=subprocess.PIPE, shell=True).stdout.readlines()
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# -*- coding: utf-8 -*- import os import subprocess resp = subprocess.Popen("python3 test.py "1 + 2 - 3 + 4"", stdout=subprocess.PIPE, shell=True).stdout.readlines() print(resp) os.system("python3 test.py "1 + 2 - 3 + 4"") os.system("python3 test.py "1 + 2 - 3 + 1 / 3"") os.system("python3 test.py "1 + + 2"") os.system("python3 test.py "1 / 0"") os.system("python3 test.py "a + 1"")
可以再写几行代码提取一下
最后
以上就是背后白猫最近收集整理的关于python调用shell命令 批量执行python程序一、问题背景二、不需要获取shell返回结果的三、需要获取返回结果的的全部内容,更多相关python调用shell命令内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复