将文件逐行读入Python中的数组元素[重复]

Posted

技术标签:

【中文标题】将文件逐行读入Python中的数组元素[重复]【英文标题】:Reading a file line by line into elements of an array in Python [duplicate] 【发布时间】:2013-04-19 19:58:03 【问题描述】:

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

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

如何在 Python 中做到这一点?

【问题讨论】:

【参考方案1】:

只需打开文件并使用readlines() 函数:

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

【讨论】:

【参考方案2】:
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()

【讨论】:

【参考方案3】:

在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.

【讨论】:

以上是关于将文件逐行读入Python中的数组元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将文件中的行读入Bash数组[重复]

将文本文件逐行读入并行数组C++

如何将文件中的整数读入动态数组

从python中的文件逐行读取[重复]

Python将文本文件读入2D阵列并访问数据

将文件中的间隔整数读入 C++ 中的数组