【发布时间】:2019-03-05 12:27:16
【问题描述】:
例如,我们有日期范围(START=2019-01-01,END=2019-03-01)
那么我们有两个函数:
1) 做某事并将响应保存到文件的进程:
def job_function():
# Date are part of parameters like this:
dates.gt({}).lt({})'.format(START,END),
# Here should be the code which ends up with :
responseMain = requests.get(urlMain, params=params, headers=headers).json()
with open(FILE_NAME, "a+") as outfile:
outfile.write(json.dumps(responseMain))
2) 主要的:
if __name__ == '__main__':
for (something here? or something inside the function 1??)
sm_data(START,END)
我需要修改函数 1,它会占用主要的日期范围,并且会通过每天处理来连续运行。
例如 如果日期范围是(START=2019-01-01,END=2019-03-01)
函数 1 将在该日期持续运行:
- START=2019-01-01, END=2019-01-02
- START=2019-01-02, END=2019-01-03
- START=2019-01-03, END=2019-01-04
- START=2019-01-04, END=2019-01-05
- START=2019-01-05,END=2019-01-06
- START=2019-01-06, END=2019-01-07
- START=2019-01-07,END=2019-01-08
- START=2019-01-08,END=2019-01-09
直到 - START=2019-02-28,END=2019-03-01
在处理过程中,数据会附加到同一个文件中
编辑 1:这是在时间范围内每天提取数据而不是按完整日期范围求和的解决方法
【问题讨论】:
-
我不清楚你在问什么。您想为一个日期范围运行脚本,并在循环中调用 1 天范围内的函数吗?如果是这样,为什么不直接从 main 发送 SATRT 和 END(使用 argparse 或类似方法),然后循环播放这些天?
-
@doctorlove 对不起我的错,完全理解你...如果我按照我解释的那样通过日期范围,我将每天收到结果,如果我输入完整日期范围,将收到结果总数3 个月以来,此 API 不支持维度。所以这就像一种解决方法。如果您对如何每天制作它有任何替代方案,我会对任何解决方案感到满意......
-
START和END是什么?字符串、datetime.date 对象、其他? -
@SergeBallesta String 或者可以使用这个 -
(datetime.date.today()).strftime('%Y-%m-%d')