Python如何抓取程序的输出?

Python如何抓取程序的输出?,第1张

给你点拨一下,你的"-H"传递给process了么?:

PYTHON subprocess API里没冲陵面有个communicate函数  可以传递输枯戚入(stdin)。see http://docs.python.org/2/library/subprocess.html#subprocess.Popen.communicate

给你一个例子,希望你可以理解,test3传递了输判腔入给test1,test1输出了接收到的参数。

test1:

import sys

input = sys.stdin.read()

sys.stdout.write('Received: %s'%input)

test3:

import subprocess

process = subprocess.Popen(['python', 'test1.py'], shell=False, stdin=subprocess.PIPE)

print process.communicate('How are you?')

领悟一下,获取process的输出你会的吧~

以下是一个简单的Python程序,用于获得用户输入的一个整数并输出该整数百位以上的数字和百位以下的数字:

num = int(input("请输入一个整数:"))

hundreds = num // 100   # 百位以上的数字below_hundreds = num % 100   # 百位以下的数字print("唤培百位以上的数字为:", hundreds)print("百位以下的数字为:", below_hundreds)

解释一下代码:

第一行使用input()函数获取用户输入的一个字符串,并使用int()函数将其转换成整数。我们将这个整数保存在变量num中。

第二行使用整数除法运算符//计算出num的百位以上的数字,并将结果保存在变量hundreds中。

第三行使用取模运算符%计算出num的百位以下的数字,并将结果保存在变量below_hundreds中。

最后两岩或行使用print()函数分别输出百位以上的数字和百位以下的数字。

请注意,上述代码假设用户输入的整数至少有3位数字(即具有百位)。如果用户输入的整数不足3位,则无和枣唯法输出百位以上的数字。需要根据具体的需求进行修改。

class StepTime:

def __init__(self,name):

self.name=name

self.values=[]

def close(self):

if sum(self.values)==0.0:

print "all zero:",self.name

def put(self,value):

self.values.append(float(value))

if len(values)==1:

print "not zero:",self.name

import re,os

lasttime=None

for line in open("filename","rt"):

if line.startswith("step"):

if lasttime:lasttime.close()

name=line[len('step time='):].strip()

lasttime=StepTime(name)

else:

lasttime.put(line[line.find("=")+1:].strip())

lasttime.close()

完成了,就这东西。似乎闭源StepTime这轿猛态个类就是一个简单的状态知答机吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12275069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存