我想读取带有数字的外部文件并将它们复制到列表中。 Python [重复]
Posted
技术标签:
【中文标题】我想读取带有数字的外部文件并将它们复制到列表中。 Python [重复]【英文标题】:I want to read an external file with numbers and copy them into a list. Python [duplicate] 【发布时间】:2022-01-15 23:31:07 【问题描述】:from io import open
files=open("file.txt","r")
list=files.readlines()
我放置的文件包含数字,我想对这些数字进行排序,但它不允许 我是因为它把它作为一个字符串列表来解决这个问题的一些想法或简单的解决方案??
【问题讨论】:
NIT:对于open
,您不需要io
。此外,使用with
语句(例如with open("file.txt") as f:
。这会自动为您关闭文件。如果您不想使用with
,则应通过files.close()
关闭文件。
相关:How to read a file without newlines?
附带说明,“列表”不是列表的好名称。参见,例如:***.com/a/55115952/5785250
【参考方案1】:
您可以从这里开始继续前进的一种方法是遍历list=files.readlines()
之后获得的每个字符串列表[请为您的列表使用不同的名称,因为它目前与关键字列表一致],是您创建单独的空列表 l1(,l2,l3 等)并遍历您的 list
并将每个字符串数字转换为整数,例如:
for i in list:
```l1.append(int(i))```
l1 现在将包含所有数字,采用整数格式。
【讨论】:
【参考方案2】:只需将读取的字符串列表转换为数字,因为在 python 中读取的文件默认读取为字符串,您始终可以将字符串值转换为所需的类型
from io import open
file=open("file.txt","r")
list = []
for line in file.readlines():
for item in line.split(' '):
list.append(int(item))
【讨论】:
ValueError: invalid literal for int() with base 10: '1 2 3 4 5 6 7 8 9 10 11 20 13 14 15 16 16 17 18 19 20' 它给了我这个问题跨度> 您需要将每一行拆分为数字之间的分隔符,在这种情况下它是一个空格,然后再转换它,我会修改我的答案 我也是在回答一般的文件阅读案例,我需要确切知道你要阅读的文件的内容以上是关于我想读取带有数字的外部文件并将它们复制到列表中。 Python [重复]的主要内容,如果未能解决你的问题,请参考以下文章
我们如何生成一定数量的随机数并将它们相互链接,而无需将数字链接到自身? [复制]
从给定的 txt 中读取所有数字并将它们输出到 c 中的新文件中