Je travaille sur un projet Python dans Visual Studio. Je souhaite traiter un fichier texte plus long, ceci est une version simplifiée:

David Tubb
Eduardo Cordero
Sumeeth Chandrashekar

Donc pour lire ce fichier j'utilise ce code:

with open("data.txt", "r") as f:
    f_contents = f.read()
    print(f_contents)

Je veux mettre ces éléments dans un nouveau tableau qui ressemble à ça:

['David Tubb','Eduardo Cordero','Sumeeth Chandrashekar']

Est-ce possible?

1
Daymnn 20 nov. 2018 à 10:13

3 réponses

Meilleure réponse

Oui, le code suivant fonctionnera pour cela:

output = [] # the output list
nameFile = open('data.txt', 'r') 

for name in nameFile:
    # get rid of new line character and add it to your list
    output.append(name.rstrip('\n'))

print output

# don't forget to close the file!
nameFile.close()
3
Patrick 20 nov. 2018 à 21:19
result = []
with open("data.txt", "r") as f:
    result = f.read().splitlines()
print(result)

Production:

['David Tubb', 'Eduardo Cordero', 'Sumeeth Chandrashekar']
1
Srce Cde 20 nov. 2018 à 14:12

La méthode indiquée par python pour ouvrir un contexte de fichier utilise "avec open", cela garantit que le contexte se terminera pendant le nettoyage.

python.org-pep-0343

dalist = list()
with open('data.txt', 'r') as infile:
    for line in infile.readlines():
        dalist.append(line)

Ressource supplémentaire pour la gestion du contexte: https://docs.python.org/3/library/ contextlib.html

0
Jimmy Newsom 20 nov. 2018 à 09:43