web-dev-qa-db-fra.com

Lire un fichier ligne par ligne dans les éléments d'un tableau en Python

Donc, en Ruby je peux faire ce qui suit:

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

Comment ferait-on cela en Python?

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

Ceci est possible car Python vous permet d'itérer directement sur le fichier.

Alternativement, la méthode la plus simple, en utilisant f.readlines() :

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

Ouvrez simplement le fichier et utilisez la fonction readlines():

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

Dans python vous pouvez utiliser la méthode readlines d'un objet fichier.

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

ou utilisez simplement list, c'est la même chose que l'utilisation de readlines mais la seule différence est que nous pouvons passer un argument de taille optionnel à readlines:

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

aider sur 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
Ashwini Chaudhary