在Python中逐行读取文件的元素

时间:2013-04-25 19:16:19

标签: python arrays file readline

所以在Ruby中我可以做到以下几点:

testsite_array = Array.new
y=0
File.open('topsites.txt').each do |line|
testsite_array[y] = line
y=y+1
end

如何在Python中做到这一点?

3 个答案:

答案 0 :(得分:18)

testsite_array = []
with open('topsites.txt') as my_file:
    for line in my_file:
        testsite_array.append(line)

这是可能的,因为Python允许您直接迭代文件。

或者,更简单的方法,使用f.readlines()

with open('topsites.txt') as my_file:
    testsite_array = my_file.readlines()

答案 1 :(得分:5)

只需打开文件并使用readlines()功能:

with open('topsites.txt') as file:
    array = file.readlines()

答案 2 :(得分:5)

在python中,您可以使用文件对象的readlines方法。

with open('topsites.txt') as f:
    testsite_array=f.readlines()

或只是使用list,这与使用readlines相同,但唯一的区别是我们可以将可选的大小参数传递给readlines

with open('topsites.txt') as f:
    testsite_array=list(f)

file.readlines上的帮助:

In [46]: file.readlines?
Type:       method_descriptor
String Form:<method 'readlines' of 'file' objects>
Namespace:  Python builtin
Docstring:
readlines([size]) -> list of strings, each a line from the file.

Call readline() repeatedly and return a list of the lines so read.
The optional size argument, if given, is an approximate bound on the
total number of bytes in the lines returned.