web-dev-qa-db-ja.com

Pythonの配列の要素に1行ずつファイルを読み込む

だからRubyでは次のことができる:

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

Pythonでどのように行うのでしょうか?

13
walterfaye
_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()
_
20
Rushy Panchal

ファイルを開いてreadlines()関数を使用するだけです:

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

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