python - 我需要一种方法来提供多个变量并且每次随机调用一个?
问题描述
我正在尝试对代码进行一些调整,我希望“键”是多个键,并且每次都放一个键。
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',
解决方案
您可以将所有密钥放在一个列表中,然后使用随机模块中的选择方法随机选择一个密钥
从非空序列 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',
根据评论,您可以通过创建循环来循环访问密钥
制作一个迭代器,从可迭代对象中返回元素并保存每个元素的副本。当迭代耗尽时,从保存的副本中返回元素。无限重复
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',
推荐阅读
- php - PHP 函数 preg_match() 中的正则表达式拼写错误
- git - 无法克隆 repo:“致命:远程没有发送所有必要的对象”
- vba - 替换 SQL 查询中的参数
- javascript - javascript中的Try和catch语句中的变量错误
- ssl - Kafka 通过 SSL 限制身份验证请求
- firebase - 集合中所有文档的 Firestore 'get' 查询不返回任何文档
- python - 如何让字典接受任何整数来触发函数
- c# - 多租户机器人数据存储
- python - 批处理文件中的空白和搁置保存在不同的目录中
- google-apps-script - 仅保存新邮件的附件