我的程序未输入searcholdvalue()
功能。
我的代码,编辑:
filename = Date + 'counter.json'
if not os.path.isfile(filename):
outfile = open(filename, "w")
counter_value = 1
with open(filename, 'a') as feedjson:
json.dump('counter_value : ' + str(counter_value), feedjson)
json.dump('timestamp : ' + time_now , feedjson)
json.dump('\n', feedjson,)
feedjson.write('\n')
def energy_consumption_per_hour():
if counter_value == 1:
actual_time= time_now
actual_val= counter_value
old_time= datetime.today() - timedelta(hours=1)
def search_old_value():
json_data = json.load(open(filename).read())
for i in json_data:
if i['timestamp'] == old_time:
search_old_value = i['counter_value']
break
old_value= search_old_value
energy_consumption_per_hour= ((actual_val- old_value)/(actual_time-old_time))
test= energy_counsuption_per_hour
JSON文件如下所示:
"counter_value : 20""timestamp : 2018-01-04 12:44:05""\n"
"counter_value : 10""timestamp : 2018-01-04 12:44:07""\n"
结果应为10kWh
。
问题:为什么我的代码不能进入searcholdvalue()
功能?
答案 0 :(得分:0)
Namespaces是一个很棒的主意 - 让我们做更多的事情!
您遇到的第一个问题是,您未在任何地方searcholdvalue()
致电
答案 1 :(得分:0)
Python是格式化的空格,因为所有内容都在if counter_value == 1
下缩进,除非counter_value为1,否则不执行任何操作。在提供的代码中,它在使用前从不设置。因此,我希望它不会执行。然后有一个问题,在searcholdvalue体外的searcholdvalue之后没有代码,所以没有什么能够调用它。
答案 2 :(得分:0)
当counter_value!= 1需要在那里进行更改时,是否期望执行该函数的其余部分。接下来,函数名称和变量energy_counsuption_per_hour中存在拼写错误 还需要将searcholdvalue实现为嵌套变量吗?有关内部功能的充分理由,请参阅inner functions