如何从纯文本文件中读取随机字符
How do I read a random character from a plain text file
我不知道如何从文本文件中读取随机字符,但想了解如何操作。
这就是我开始胡闹python时发生的事情!我知道我以后会在学校做这样的事情,所以我正在练习。正如您将看到的那样,阅读一行是不够的——我愿意接受提示,并且只是一个直接的答案,因为我意识到我的代码非常草率。启用此代码的 Raspberry Pi 是 运行 Raspbian 精简版,安装了一些额外的位(一个 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.read
random_character = random.choice(contents)
for i in range(amnt):
password = ''
for c in range(length):
password += random_character
print(password)
如果文件不是很大,选择随机字符的简单方法是先将其读入字符串,然后 select 从字符串中随机选择一个字符:
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)
我不知道如何从文本文件中读取随机字符,但想了解如何操作。
这就是我开始胡闹python时发生的事情!我知道我以后会在学校做这样的事情,所以我正在练习。正如您将看到的那样,阅读一行是不够的——我愿意接受提示,并且只是一个直接的答案,因为我意识到我的代码非常草率。启用此代码的 Raspberry Pi 是 运行 Raspbian 精简版,安装了一些额外的位(一个 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.read
random_character = random.choice(contents)
for i in range(amnt):
password = ''
for c in range(length):
password += random_character
print(password)
如果文件不是很大,选择随机字符的简单方法是先将其读入字符串,然后 select 从字符串中随机选择一个字符:
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)