将每个素数写在不同的行中(Python 3)

将每个素数写在不同的行中(Python 3),python,string,python-3.x,random,io,Python,String,Python 3.x,Random,Io,我想在文本文件中写入新行中的随机素数,但当我运行脚本时,它会将所有数字写入一行。很可能我没有正确地理解某些事情 这是我的原始代码: import random file = open("prime.txt", "w") i = 0 while( i<=100 ): temp=str(random.randint(1, 500) ) file.writelines(temp) i += 1 file.close() 随机导入 文件=打开(“prime.txt”、“w

我想在文本文件中写入新行中的随机素数,但当我运行脚本时,它会将所有数字写入一行。很可能我没有正确地理解某些事情

这是我的原始代码:

import random
file = open("prime.txt", "w")
i = 0
while( i<=100 ):
    temp=str(random.randint(1, 500) )
    file.writelines(temp)
    i += 1
file.close()
随机导入
文件=打开(“prime.txt”、“w”)
i=0
而(i不添加行分隔符(考虑到
读取行
会删除它们,这看起来很奇怪)。您必须手动添加它们

lines = ['{0}\n'.format(random.randint(1,500)) for i in range(100)]
file.writelines(lines)
不添加行分隔符(考虑到
readlines
会删除它们,这看起来很奇怪)。您必须手动添加它们

lines = ['{0}\n'.format(random.randint(1,500)) for i in range(100)]
file.writelines(lines)

在将每个数字写入文件时,您只需添加一个换行符。也可以使用
file.write()
而不是
file.writelines()
。只需将其用作代码:

import random
file = open("primes.txt", "w")
i=0
while(i<=100):
    temp=str(random.randint(1,500))
    file.write(temp  + "\n")  #add a newline after each number
    i+=1
file.close()
随机导入
文件=打开(“primes.txt”、“w”)
i=0

while(i您可以在将每个数字写入文件时添加一个换行符。也可以使用
file.write()
而不是
file.writelines()
。只需将其用作您的代码:

import random
file = open("primes.txt", "w")
i=0
while(i<=100):
    temp=str(random.randint(1,500))
    file.write(temp  + "\n")  #add a newline after each number
    i+=1
file.close()
随机导入
文件=打开(“primes.txt”、“w”)
i=0

(i您需要将序列传递给writelines,您可以使用生成器表达式,也可以使用打开文件,将while循环替换为:


您需要将序列传递给writelines,您可以使用生成器表达式,也可以使用打开文件,将while循环替换为:


由于您一次只写一个字符串,我想您只需要
file.write(temp+“\n”)
CollinD给出的答案应该对您有用,有关更多信息,您可以查看,因为您一次只写一个字符串,我想您只需要
file.write(temp+“\n”)
CollinD给出的答案应该对你有用,要了解更多信息,你可以查看一些迂腐的内容,但它需要任何字符串序列,而不仅仅是一个列表。=)有点迂腐,但它需要任何字符串序列,而不仅仅是一个列表。=)在你的示例中,你只需要使用
file.write()
writelines()表示字符串序列。非常感谢。我不确定是否使用write()和writelines()。在您的示例中,您只想使用
file。write()
writelines()表示字符串序列。非常感谢。我不确定是否使用write()和writelines()1.谢谢!它看起来真的很有用。谢谢!它看起来真的很有用。