场景:python代码,用于检查通过登机口输入的访客数量。 根据这个数字,我建立下一份工作。
编辑1:
#file1 :( 第一次运行 在我的情况下,此文件计算到达默认值为3的访问者数量。现在我执行文件,我发现到访的访客是4。现在,将其导出到file2,并将访问者计数打印为4,同时访问者值现在在file1中更改为4。
现在第二次运行:
现在在file1中,访问者值为4,并且正在检查访问者是否> 4,现在如果计数是4然后我将相同的文件导出到file2然后我将其导出到file2并将值保留为5 **访问者的数量完全取决于URL)####
datasource = "www.PPrestraunt.com/personsentered"
data = len(datasource) #gives me the live value of the number of persons entered
if(visitors > 3):
bottles = data
visitors = bottles
print bottles
else:
visitors = 3
将上面的代码导入到另一个具有工作
的文件中file2的:
from file1 import visitors
number_of_bottles = visitors
print number_of_bottles
我在jenkins工作中设置相同,所以它每隔5分钟建立一次。 在上面的代码中,每次运行时访问者的值都不会改变,即使数字增加到4,代码值仍为3。
预期情况:如果值大于3,则值也应保留在下一个会话中,if条件现在应检查新值ex:(if(visitor> 4)
任何帮助表示赞赏。
答案 0 :(得分:0)
就像@juanpa写的那样。
这是一个增加计数器的小程序,你可以根据你的代码进行定制
import os
data_file = "lower_bound.txt"
is_file_empty = (os.path.isfile(data_file)==False) or (os.stat(data_file).st_size == 0)
if (is_file_empty):
with open(data_file,"w") as f:
f.write("3");
datasource = "www.PPrestraunt.com/personsentered"
data = len(datasource) #gives me the live value of the number of persons entered
lower_bound = 0;
with open(data_file,"r") as f:
lower_bound = int(f.read());
if (visitors>lower_bound):
bottles = data
visitors = bottles
print bottles
// @Alex either lower_bound+=1; or lower_bound = visitors not sure what you want
else:
visitors = lower_bound;
with open(data_file,"w") as f:
f.write(str(lower_bound));
print lower_bound,"is the new minimum and",visitors,"is the current visitor count";
答案 1 :(得分:0)
这对于酸洗来说是一个很好的场景。你可以挑选数据(在你的情况下是一个计数器)并存储这些数据,然后在以后的时间检索它:
import pickle
def your_code(counter):
# Replace this with your code and use the counter variable.
# Every time you execute the code it will increase
# e.g. 3, 4, 5, 6 ....
print(counter)
try:
counter = pickle.load(open('counter.pckl', 'rb'))
counter += 1
pickle.dump(counter, open('counter.pckl', 'wb'))
# Now execute your code with the new counter:
your_code(counter)
except:
counter = 3
pickle.dump(counter, open('counter.pckl', 'wb'))
# Execute your code for the first time. This will only happen once.
your_code(counter)
第一次执行此代码时,计数器将初始化为3.然后,您可以将现有代码作为函数调用并使用此计数器。每当您运行脚本时,计数器都会增加,您的代码将使用新版本的计数器:e.g. 3, 4, 5, 6
。