我有一个包含中文字符的文本文件。
我想从该文本文件中读取一个随机行并显示它,这是我的代码:
foreach ($item in $item_array)
{
$global:f_server_s = "SERVER123"
$global:f_share = "$item"
$global:f_path = "\\$global:f_server_s\$global:f_share"
$obj_fileshare_list = New-Object -TypeName PSObject
$obj_fileshare_list | Add-Member -Type NoteProperty -Name Name -Value "$global:f_share"
$obj_fileshare_list | Add-Member -Type NoteProperty -Name Server -Value "$global:f_server"
$obj_fileshare_list | Add-Member -Type NoteProperty -Name Path -Value "$global:f_path"
$Fileshare_list += $obj_fileshare_list
}
答案 0 :(得分:5)
readlines会生成一系列行,您可以使用random.choice
随机选择。
from random import randint, choice
...
bytes = inputFile.readlines()
random_line = choice(bytes)
print random_line.decode("utf-8")
此外,在Python 3中bytes
是built-in,我建议将该变量重命名为其他内容。
答案 1 :(得分:0)
您无需手动解码每一行。而是使用io
模块以文本模式打开文件,并指定适当的编码。从文件中读取的所有字符串现在都是Unicodes:
with open('Chinese.txt', 'r', encoding='utf-8') as inputFile:
lines = inputFile.readlines()
random_line = choice(lines)
# type(random_line)
# Unicode
print random_line