I';我试图将随机数写入一个文件,然后用Python中的行创建一个列表,但列表需要'\n';也

I';我试图将随机数写入一个文件,然后用Python中的行创建一个列表,但列表需要'\n';也,python,list,Python,List,我正在使用一个函数创建随机数,并使用\n在for循环中使用以下代码块将它们逐行写入名为random.txt的文件中: dosya.write(str(randomNumber)) dosya.write('\n') 我需要从行中创建一个列表,然后使用排序函数对该列表进行排序。我可以在该文件中逐行查看随机数,但当我使用readline()函数时,如下所示: List = open("random.txt").readlines() print List 输出为: ['22\n', '16\n'

我正在使用一个函数创建随机数,并使用
\n
在for循环中使用以下代码块将它们逐行写入名为
random.txt
的文件中:

dosya.write(str(randomNumber))
dosya.write('\n')
我需要从行中创建一个列表,然后使用排序函数对该列表进行排序。我可以在该文件中逐行查看随机数,但当我使用
readline()
函数时,如下所示:

List = open("random.txt").readlines()
print List
输出为:

['22\n', '16\n', '1\n',  '4\n', '4\n']

为什么我在我的号码后面看到
\n
?我试着只打印第一个或第二个元素,它没有显示任何额外的东西。整个列表有什么问题?当我使用sort函数时,它也需要
\n

循环每一行,将该行转换为int并附加到数组

f=open('random.txt','r')

array = []
for line in f: # read  lines
    array.append(int(line))

f.closed
.readlines()
方法读取每一行,包括以
\n
结尾的行作为列表元素。 你可能希望你的随机数是整数。 将它们转换为
int
也会使您的排序工作正常:

with open("random.txt") as fobj:
    data = [int(line) for line in fobj]

带有的
打开文件,并承诺在您离开缩进后立即关闭该文件。打开的文件对象
fobj
是可编辑的。因此,您可以直接在
fobj
上编写一个列表,将每一行转换为一个整数。它会自动删除所有换行符
n

List=[i.strip()for i in open(“random.txt”).readlines()]
很难理解您要做什么。你能试着正确格式化你的代码吗?使用大量换行符,并将所有代码缩进4个空格。