Python循环理解

时间:2018-05-20 22:29:10

标签: python loops design-patterns output

我自学Python,而且我已经在这个循环问题上停留了一段时间。我写了一个脚本来每小时提取一次关于股票价格的数据,但是对于每小时的数据,我手动创建了新的变量来保存我的新数据。

  • 是否有循环可以为我执行此操作而无需为每次运行创建新的变量行?
  • 并且该循环可以创建具有不同名称的文本文件吗? (例如:Txtfile1.txt,Txtfile2.txt ...)

下面附带的代码示例:

Display can be toggled by this report Item

感谢。

1 个答案:

答案 0 :(得分:2)

你可以把你在迭代中重复的任何内容包含在for循环中(因此你会得到一个嵌套的for循环)

如果您有一定次数要运行数据提取程序,例如12,那么请使用:

r = requests.get("https://api.website.com/v1/....")
data = r.json()

for i in range(12):
    for x in data:

        ticker = x['symbol']
        cost = x['price_usd']

        print(ticker + ":\t", cost)
        # define a new name for our variable:
        name = 'Marketcap{}.txt'.format(i)

        with open(name, 'w') as outfile:
            json.dump(data, outfile, indent=2)

    time.sleep(3600)

如果你想永远使用它"有一个名为itertools的内置库,它可以让你无限期地使用for函数进行递增:

from itertools import count

for i in count(0):
    for x in data:

        ticker = x['symbol']
        cost = x['price_usd']

        print(ticker  + ":\t", cost)
        name = 'Marketcap{}.txt'.format(i)

        with open(name, 'w') as outfile:
            json.dump(data, outfile, indent=2)

    time.sleep(3600)