gpt4 book ai didi

Makefile:从数字序列生成目标

转载 作者:行者123 更新时间:2023-12-04 00:05:43 26 4
gpt4 key购买 nike

我有兴趣从 Internet 上的某个位置下载年度数据。我有一个 python 脚本 GetYearData.py 执行此操作,将年份和输出文件名作为命令行参数。我想一次在几年的数据上运行这个脚本;我想使用 Make,这样如果我更改开始或结束年份,我就不必重新下载所有数据。

我可以用一个非常简单的 Makefile 完成这一年:

data/YearData_2000.txt  :  GetYearData.py
python $< --year 2000 --outfile $@

但是,我想这样做一个循环(或类似的构造),这样,对于 bash 中的序列中的每一年,我会说 YEARS=($(seq $(SYEAR) 1 $( EYEAR))) -- 我将 --year $(Y) 传递给我的脚本并为 --outfile 生成适当的目标?

最佳答案

尝试类似:

SYEAR = 2000
EYEAR = 2017

YEARS := $(shell seq $(SYEAR) 1 $(EYEAR))

all: $(patsubst %,data/YearData_%.txt,$(YEARS))

data/YearData_%.txt : GetYearData.py
python $< --year $* --outfile $@

如果需要,您可以在 make 命令行上覆盖 SYEAREYEAR

关于Makefile:从数字序列生成目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46307292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com