【Python】Python对程序多次统计脚本

在参加华为的2015挑战赛中,出现的问题。

问题描述如下:

希望一直循环运行一个脚本,例如10次,每次都需要这个脚本停下来才去执行下一次。脚本会使一个程序gameserver运行,所以每次循环中都需要等待这个进程结束。

每次运行脚本都会生成一个文件,在文件的某个位置能找到自己本次运行的名次,需要统计这个名次。

最终选择使用Python,脚本如下

import os
import string
run_time = 10 
win_time = 0
output = open('result.txt','a') 
for i in range(run_time):
	print('-----------%d time-------'%i)
	os.system('/home/game/game/works/target/run.sh')
	os.system('sleep 10')
	flag = 1
	while flag == 1:
		tmp = os.popen('pidof gameserver').readlines()
		if len(tmp) == 0:
			flag = 0
		else:
			os.system('sleep 5')
	tmp = os.popen('tail -3 /home/game/run_area/server/replay.txt | head -1').readlines()
	result = tmp[-1]
	char = result[-2]
	if string.atoi(char) == 1:
		win_time = win_time + 1	
	print char	
	output.write(result)
output.write('we run %d times game, and win %d times !!'%(run_time, win_time))
output.close()
	
注意其中Python是如何调用linux的命令,以及如何查找某个进程是否结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值