如何从.txt文件中获取随机字符串

时间:2016-04-08 07:44:00

标签: python-2.7 random

我刚开始使用python 2.7进行编程,我的随机生成器在从外部.txt文件中获取项目时遇到了一些麻烦,想知道是否有人可以帮我一点......

基本上我喜欢随机点击100次,最后将它们计算在内,然后打印字符串的摘要。我希望它有意义!

我知道这个问题之前已经得到了回答,但答案对我没有帮助。

所以,我的txt文件包含一串用逗号分隔的字符串。 这就是我的代码:

import random

fname = raw_input("Enter filename: ")
infile = open(fname,'r')
data = infile.readlines()

for i in range(100):
   print(random.uniform("Car_types.txt"))

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

这可能是您正在寻找的:

import random

fname = raw_input("Enter filename: ")
# With statements are better as they explicitly close the file
with open(fname,'r') as infile:
    data = infile.read().split(",")  # Split the strings with commas as you said

for i in range(100):
   print(random.choice(data))  # This will randomly choose one of the strings

答案 1 :(得分:0)

如果您不希望获得相同的值,请在逗号分割数据后执行示例

fname = raw_input("Enter filename: ")
with  open(fname) as f:
    for r in random.sample(f.read().split(), 100):
        print(r)

您正在打开文件,调用readlines,然后根本不使用内容,random.uniform("Car_types.txt"))正在对文字字符串"Car_types.txt"起作用,您需要使用实际的文件内容。

答案 2 :(得分:-1)

我刚用一个文本文件来测试我的代码。测试文件看起来像这样(不确定您的文件格式是否与我的格式相同)。

import random
def addElements(l):
    for i in l:
        global result
        result.append(i)
fname=raw_input("Enter filename: ")
result=[]
summary=[]
for line in open(fname,'r'):
    elements=line.strip().split(',')
    addElements(elements)
for i in range(100):
    summary.append(random.choice(result))
print summary
  1. 的test.txt:
  2. ABC,DEF,GHI

    JKL,MNO,PQR

    1. 结果:
    2. [' mno',' ghi',' pqr',' jkl',' abc',& #39; abc',' jkl',' jkl',' jkl',' def',' pqr&# 39;,' def'' jkl',' pqr',' mno',' jkl',&# 39; mno',' def',' jkl',' jkl',' def',' mno&#39 ,' pqr',' pqr',' abc',' pqr',' def',&#39 ; abc',' pqr',' def',' jkl',' pqr',' mno' ,' mno',' mno',' def',' jkl',' def',' ghi',' jkl',' pqr',' mno',' ghi',' mno', ' mno',' jkl',' jkl',' ghi',' abc',' ghi& #39;,' ghi',' jkl',' mno',' def',' ghi',& #39; ghi',' abc',' abc',' pqr',' ghi',' abc&# 39;,' abc',' mno',' def',' jkl',' mno',&# 39;米no',' jkl',' jkl',' pqr',' pqr',' pqr', ' jkl',' def',' jkl',' mno',' mno',' ghi& #39;,' jkl',' mno',' ghi',' pqr',' abc',& #39; ghi',' def',' ghi',' ghi',' jkl',' def&# 39;,' abc',' abc',' ghi',' jkl',' pqr',&# 39; pqr',' pqr',' def',' pqr',' pqr',' def&#39 ]

      希望这会帮助你。

      如果它仍为您打印废话,请提供我的txt文件的样子。谢谢!