将随机数写入Python文件并使用换行符连接

将随机数写入Python文件并使用换行符连接,python,file-io,newline,Python,File Io,Newline,该程序生成用户定义数量的随机数,然后写入文件。该程序编写时运行良好,但我希望文本文件使用\n连接。我做错了什么 #该程序编写用户定义的 #文件中的随机数 import random randfile = open("Randomnm.txt", "w" ) for i in range(int(input('How many to generate?: '))): line = str(random.randint(1, 100)) randfile.write(line)

该程序生成用户定义数量的随机数,然后写入文件。该程序编写时运行良好,但我希望文本文件使用\n连接。我做错了什么

#该程序编写用户定义的 #文件中的随机数

import random

randfile = open("Randomnm.txt", "w" )

for i in range(int(input('How many to generate?: '))):
    line = str(random.randint(1, 100))
    randfile.write(line)
    print(line)

randfile.close()
添加“\n”:

添加“\n”:

file.write()
只是将文本写入文件。它不会连接或附加任何内容,因此您需要自己附加一个
\n

(注意,在Python3中,该类型将被称为
\u io.TextIOWrapper

为此,只需更换

line = str(random.randint(1, 100))

这将在每个随机数后面添加一个换行符。

文件。write()
只是将文本写入文件。它不会连接或附加任何内容,因此您需要自己附加一个
\n

(注意,在Python3中,该类型将被称为
\u io.TextIOWrapper

为此,只需更换

line = str(random.randint(1, 100))


这将为每个随机数添加一个换行符。

您还可以使用Python 3的
print
函数的
文件
关键字参数:

import random

with open("Randomnm.txt", "w") as handle:
    for i in range(int(input('How many to generate?: '))):
        n = random.randint(1, 100)

        print(n, file=handle)
        print(n)

# File is automatically closed when you exit the `with` block

您还可以使用Python 3的
print
函数的
文件
关键字参数:

import random

with open("Randomnm.txt", "w") as handle:
    for i in range(int(input('How many to generate?: '))):
        n = random.randint(1, 100)

        print(n, file=handle)
        print(n)

# File is automatically closed when you exit the `with` block

'\n'.join(str(randint(1100))表示范围内的uu(int(input()))
@roippi:这样就省去了最后一行换行符。你可以把它固定在最后,但在这种情况下,为什么不干脆把它作为
randfile.writelines(str(randint(1100))+'\n'用于范围内的(int(input())
,完全避免
join
'\n'。你可以把它固定在最后,但是在这种情况下,为什么不干脆把它作为
randfile.writelines(str(randint(1100))+'\n'用于范围内的(int(input())
,完全避免
连接
呢?我很确定这就是Python3.x(参见
输入
原始输入
,以及
打印
),所以没有像
文件
这样的类型;它实际上是一些丑陋的东西,比如
io.TextIOWrapper.write
,它只是继承。(不幸的是,3.x没有任何关于“文件对象”的简单文档。)除此之外,还有一个很好的解释。@abarnert:谢谢,补充了这一点。我很确定这就是Python3.x(参见
输入
原始输入
,以及
打印
作为函数),所以没有
文件
这样的类型;它实际上是一些丑陋的东西,比如
io.TextIOWrapper.write
,它只是继承。(不幸的是,3.x没有任何关于“文件对象”的简单文档。)除此之外,还有一个很好的解释。@abarnert:谢谢,补充了这个。