Python 从utf-8转换文本文件中读取随机行
我有一个文本文件,里面有汉字 我想从该文本文件中随机读取一行并显示它,以下是我的代码:Python 从utf-8转换文本文件中读取随机行,python,python-2.7,utf-8,type-conversion,Python,Python 2.7,Utf 8,Type Conversion,我有一个文本文件,里面有汉字 我想从该文本文件中随机读取一行并显示它,以下是我的代码: from random import randint num_lines = sum(1 for line in open('Chinese.txt')) num_lines = num_lines - 1 choice = raw_input('How many times do you want to play?') choice1 = int(choice) while choice1 > 0:
from random import randint
num_lines = sum(1 for line in open('Chinese.txt'))
num_lines = num_lines - 1
choice = raw_input('How many times do you want to play?')
choice1 = int(choice)
while choice1 > 0:
random_number = (randint(0,num_lines))
with open('Chinese.txt') as inputFile:
bytes = inputFile.readlines()
unicodeText = bytes.decode('utf-8')
print unicodeText[int(random_number)]
choice1 = choice1 - 1
readlines生成一个行列表,您可以使用该列表进行随机选择
from random import randint, choice
...
bytes = inputFile.readlines()
random_line = choice(bytes)
print random_line.decode("utf-8")
另外,在Python3中,bytes是一个变量,我建议将该变量重命名为其他变量 readlines生成一个行列表,您可以使用该列表进行随机选择
from random import randint, choice
...
bytes = inputFile.readlines()
random_line = choice(bytes)
print random_line.decode("utf-8")
另外,在Python3中,bytes是一个变量,我建议将该变量重命名为其他变量 您不需要手动解码每一行。相反,请使用
io
模块以指定适当编码的文本模式打开文件。从文件中读取的所有字符串现在都是Unicode:
with open('Chinese.txt', 'r', encoding='utf-8') as inputFile:
lines = inputFile.readlines()
random_line = choice(lines)
# type(random_line)
# Unicode
print random_line
您不需要手动解码每一行。相反,请使用
io
模块以指定适当编码的文本模式打开文件。从文件中读取的所有字符串现在都是Unicode:
with open('Chinese.txt', 'r', encoding='utf-8') as inputFile:
lines = inputFile.readlines()
random_line = choice(lines)
# type(random_line)
# Unicode
print random_line