【发布时间】:2018-08-14 13:51:49
【问题描述】:
#!/usr/bin/env python
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import json
import requests
from chardet import detect
false = False
null = ""
true = True
#from werobot import client
file_path = 'data1.json'
with open(file_path) as f:
js = f.read()
dic = eval(js)
def ana(month):
i = len(dic["items"])-1
st = ""
while i > 0:
#print dic["items"][i]["name"]
if st.find(dic["items"][i]["name"]) == -1:
#print st.find(dic["items"][194]["name"])
st = st + dic["items"][i]["properties"]["lastModifiedDate"][0:4].replace("/",".")+" " + dic["items"][i]["name"] +str(i)+"\n"
i = i - 1
i = i - 1
return st
all_data = ana("7")
print all_data
st.find(dic["items"][194]["name"]) = -1
但它不能通过if条件:
st.find(dic["items"][i]["name"]) == -1
data1.json 很重要:data1.json on gist
这段代码有什么问题吗?
【问题讨论】:
-
使用
json.load加载json数据,而不是eval。 -
对不起,这是一个字典,不是一个 json 文件
-
请将您的行重新格式化为 80 个字符或更少,这样实际的 if 语句就可以阅读,而无需滚动并忽略其余代码。
-
您是否排除了 if 语句中的任何其他子句失败的可能性?
str.find只是该 if 语句中的众多子句之一;他们中的任何一个都可能失败。 -
格式似乎是 JSON,它被称为 data1。 json。怎么可能是字典?
标签: python string if-statement