我刚开始使用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"))
提前感谢您的帮助!
答案 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
ABC,DEF,GHI
JKL,MNO,PQR
[' 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文件的样子。谢谢!