您的位置:首页 > 编程语言 > Python开发

python计算平均速率模块

2017-02-07 15:42 232 查看
#!/usr/bin/python
#this is model
import dbm
import time
import os
class  computation_rate:
def __init__(self,defind_namedb,value):
self.path =  os.path.split(os.path.realpath(__file__))[0] + '/' + defind_namedb
self.value = value
def computation_rate(self):
db = dbm.open(self.path, 'c')
checklistdbm = []
for key in db.keys():
checklistdbm.append(key)
db.close()
now_time = time.time()
if len(checklistdbm) == 0:
db = dbm.open(self.path, 'c')
db[str(now_time)] = str(self.value)
db.close()
return sys.exit(0)
elif len(checklistdbm) != 0:
db = dbm.open(self.path, 'c')
old_time = float(checklistdbm[0])
old_val = float(db[checklistdbm[0]])
del db[checklistdbm[0]]
db[str(now_time)] = str(self.value)
db.close()
mean_rate = (self.value - old_val) / (now_time - old_time)
return mean_rate
if __name__ != '__main__':
import inspect
import sys
class ccomputation_rate(computation_rate):
def __init__(self,value):
self.path =  os.path.split(os.path.realpath(__file__))[0] + '/' + inspect.stack()[1][1].replace('.py','.tempfile')
self.value = value

#call model

#!/usr/bin/python
import mean_rate
import sys

p = mean_rate.ccomputation_rate(int(sys.argv[1]))

print p.computation_rate()

#调用模块和模块文件在相同目录下
#模块目录下会生出 以调用脚本命名的 dbm 临时文件目录,
#例如调用脚本名字为 example.py ,则在当前目录下会生成 example.tempfile.dir,example.tempfile.pag,这样可以多个脚本调用
#调用脚本的参数为变化的数值,每次调用输入想计算的数值,时间间隔为调用时间间隔,
#这样得出就是在调用间隔内数值变化的平均数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  file python