将文件逐行读入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中的数组元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章