python - 我想从 txt 文件中打印唯一密码和 19 个随机密码。我怎样才能使这项工作?
问题描述
from random import shuffle
print('give me your password')
password = input()
def generator():
g = open('Desktop/COWRIE/passwords.txt', "r")
passwords = g.read().split("\n")
shuffle(passwords)
g.close()
txt = print ('YOUR HONEYPOT IS :','\n')
for i in range(1,20):
passwords[i]
print(passwords[i])
if __name__ == "__main__":
generator()
解决方案
您可以有一个介于 0 到 len-1 之间的集合和随机索引,然后您可以添加以设置随机密码,直到集合的长度为 19
from random import shuffle, randrange
def generator():
g = open('passwords.txt', "r")
passwords = g.read().split("\n")
shuffle(passwords)
g.close()
l =len(passwords)-1
txt = print('YOUR HONEYPOT IS :', '\n')
s =set()
while len(s)<19:
i = randrange(l)
s.add(passwords[i])
for p in passwords:
print(p)
if __name__ == "__main__":
generator()
推荐阅读
- c# - 如何在 C# 中从键盘上捕获键
- bash - awk 命令读取日志文件并在日志条目中添加值
- javascript - 如何在 React 上正确开发分页?
- android - 设置徽标不会在 android Firebase UI 上显示徽标
- c# - 如何在datagridview中对日期时间进行排序?
- git - git - 合并冲突
- javascript - 使用点分隔符对字符串数组编号的数组进行排序
- android - Unity.UnityContainer+Context 类型的 VTable 设置失败
- android - Android Studio Canary 卡在启动画面上
- r - r- grepl 以任何顺序查找匹配的字符串