您当前的位置: 首页 >  Python
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python调用shell命令 批量执行python程序

软件工程小施同学 发布时间:2021-01-04 17:19:10 ,浏览量:0

一、问题背景

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

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

 

 

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

使用

os.system(command)

 

新建judge.py

# -*- 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的数字.

可以使用

subprocess.Popen("command", stdout=subprocess.PIPE, shell=True).stdout.readlines()

 

# -*- 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\"")

 

可以再写几行代码提取一下

 

 

 

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0450s