0

如果我打开一个包含以下内容的文件: 1 2 3 4 \n 5 6 7 \n 8 9 10

所以

def read(list):
  list = open('list.tet','r')
  nums = list.readlines()
  new_list = []
  for num in nums:
    if num.find('\n'):
      new_list.append(num.strip('\n')
  return new_list

我希望得到的输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

我应该怎么办?谢谢

4

1 回答 1

0

如果你有一个固定分隔符(比如空格),你可以尝试以下方法来读出你的整数:

new_list = []
with open( "list.tet", "r" ) as myFile:
    for myLine in myFile:
        for myInt in myLine.strip().split( " " ):
            new_list.append( myInt )

print( "Integers:", new_list )

这不是完美的 Python 方式,因为您可以进一步压缩这些行,但我认为它更容易理解。好消息是,如果文件“list.tet”丢失,您已经内置了故障处理。

该示例将打开您的文件并逐行读取为“myLine”。它将从该行中删除任何前导/尾随空格/制表符/换行符,让您在第一行留下“1 2 3”。拆分而不是将它们分成 [1, 2, 3] 我们在 for 循环中使用将每个值放入 myInt 中,然后将其附加到您的 new_list 中。

于 2013-11-07T06:15:57.640 回答