我是靠谱客的博主 背后白猫,这篇文章主要介绍python调用shell命令 批量执行python程序一、问题背景二、不需要获取shell返回结果的三、需要获取返回结果的,现在分享给大家,希望可以做个参考。

一、问题背景

学生写了一个计算器程序test.py,我要去测上面这个5个命令是否能够获得正确的结果

我想写一个python代码,包含上面5个命令,并输出给我看结果,可以实现吗?

 

 

二、不需要获取shell返回结果的

使用

复制代码
1
os.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的数字.

可以使用

复制代码
1
subprocess.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命令内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部