首页 > 解决方案 > 我需要一种方法来提供多个变量并且每次随机调用一个?

问题描述

我正在尝试对代码进行一些调整,我希望“键”是多个键,并且每次都放一个键。

key = 'XXXXXXXXXXXXXXXXXXXX'
myfile = open("test.txt", "r")
for line in myfile:
    client = messagebird.Client(key)
    message = client.message_create(
          'idtest',
          (line),
          'Hi test',

        
      )

这就是我希望代码的样子:

key1 = 'XXXXXXXXXXXXXXXXXXXX'
key2 = 'XXXXXXXXXXXXXXXXXXXX'
key3 = 'XXXXXXXXXXXXXXXXXXXX'
    myfile = open("test.txt", "r")
    for line in myfile:
        client = messagebird.Client(" KEY1 THEN HE PUT KEY2 like random everytime ")
        message = client.message_create(
              'idtest',
              (line),
              'Hi test',

标签: python

解决方案


您可以将所有密钥放在一个列表中,然后使用随机模块中的选择方法随机选择一个密钥

随机选择

从非空序列 seq 返回一个随机元素。如果 seq 为空,则引发 IndexError

from random import choice
keys = ["key1", "key2", "key3"]
myfile = open("test.txt", "r")
for line in myfile:
    client = messagebird.Client(choice(keys))
    message = client.message_create(
        'idtest',
        (line),
        'Hi test',

根据评论,您可以通过创建循环来循环访问密钥

itertools.cycle

制作一个迭代器,从可迭代对象中返回元素并保存每个元素的副本。当迭代耗尽时,从保存的副本中返回元素。无限重复

from itertools import cycle
keys = cycle(["key1", "key2", "key3"])
myfile = open("test.txt", "r")
for line in myfile:
    client = messagebird.Client(next(keys))
    message = client.message_create(
        'idtest',
        (line),
        'Hi test',

推荐阅读