为了账号安全,请及时绑定邮箱和手机立即绑定

如何从纯文本文件中读取随机字符

如何从纯文本文件中读取随机字符

函数式编程 2022-01-05 10:17:04
我不知道如何从文本文件中读取随机字符,想学习如何。这就是我开始使用 python 时发生的事情!我知道我以后会在学校做这样的事情,所以我正在练习。正如您将看到的那样,阅读一行是不够的 - 我愿意接受提示,只是一个直接的答案,因为我意识到我的代码非常草率。带有此代码的 Raspberry Pi 运行 Raspbian lite,并额外安装了一些位(gui,空闲),并运行 python 3.5.3。我将其中一些写入文本文件:f = open("selected.txt","w")chars = 'abcdefghijklmnopqrstuvwxyz'ucchars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'smbls = '`¬!"£$%^&*()-_=+{[}]:;@~#<,>.?'nos = '1234567890'space = ' '像这样:usechars = input('Use lower case letters? answer y or n.')if usechars == 'y':    f.write(chars)useucchars = input('Use upper case letters? answer y or n.')if useucchars == 'y':    f.write(ucchars)usesmbls = input('Use symbols? answer y or n.')if usesmbls == 'y':    f.write(smbls)usenos = input('Use numbers 0-9? answer y or n.')if usenos == 'y':    f.write(nos)usespace = input('Use spaces? answer y or n.')if usespace == 'y':    f.write(space)我想从文本文件中打印选定数量的随机字符并将其打印在 shell 中,但我不知道如何从文本文件中获取随机单个字符。如果有更好的方法(可能是这种情况)或者您需要更多代码,请告诉我。提前致谢。更新 这里是代码:f.close()with open("selected.txt","r") as f:    contents = f.readrandom_character = random.choice(contents)for i in range(amnt):    password = ''    for c in range(length):        password += random_character    print(password)
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

如果文件不是很大,选择随机字符的简单方法是先将其读入字符串,然后从字符串中选择一个随机字符:


import random


with open("selected.txt", "r") as f:

    contents = f.read()  # NOTE the () after read


random_character = random.choice(contents)

print("The random character I've chosen is: ", random_character)

如果您想创建一个随机选择的字符串,您可以使用 for 循环,但您必须在循环内选择一个新的随机字符:


with open("selected.txt","r") as f:

    contents = f.read()


password = ''

for i in range(amnt):

    random_character = random.choice(contents)

    for c in range(length):

        password += random_character

print(password)


查看完整回答
反对 回复 2022-01-05
  • 1 回答
  • 0 关注
  • 218 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信