打开文件,然后读取文件并使它们不行

时间:2013-10-05 15:29:50

标签: python lines

numbers = []

dataFile = open("numbers.txt")

for inputLine in dataFile:
    elements = inputLine.split()
    numbers1 = elements[0]
    print(numbers1)

我的文字文件如下:

45
6
9
10
11

我试图让它像这样读,[45,6,9,10,11] 所以我可以做排序过程,我知道如何进行排序,但是这一次,我遇到了麻烦。我已经尝试了很多可能的方法来使它成为一行,而不是5行。我试图做strip(),它没有出来。

编辑:

elements = []

dataFile = open("numbers.txt")

for inputLine in dataFile:
    elements = [int(line) for line in dataFile]
    print(elements)

这个问题, 我的文件文件如下所示:

45
6
9
10
11

当我这样做的时候,它已经丢失了45.每次,它都是第一个号码。

感谢。

3 个答案:

答案 0 :(得分:2)

使用列表理解:

with open("numbers.txt") as f:
   nums = [int(line) for line in f]
   nums.sort()
   print nums

<强>输出:

[6, 9, 10, 11, 45]

答案 1 :(得分:0)

列表推导的另一种替代方法是使用numpy,numpy.loadtxt是一种加载.txt的简单方法,然后您可以使用numpy.sort对数组进行排序:

>>> import numpy as np
>>> x = np.loadtxt('numbers.txt')
>>> print x
 [ 45.   6.   9.  10.  11.]
>>> np.sort(x)
 [  6.   9.  10.  11.  45.]

答案 2 :(得分:0)

您可以使用print(numbers1),(最后使用逗号)代替print(numbers1),以便在一行上打印所有内容。