web-dev-qa-db-fra.com

Comment imprimer le contenu d'un fichier .text en Python?

Je suis très novice en programmation (évidemment) et en informatique de manière très avancée. Je n'ai que des connaissances de base en informatique, alors j'ai décidé de vouloir en savoir plus. Ainsi, j'apprends moi-même (à travers des vidéos et des livres électroniques) comment programmer. 

Quoi qu'il en soit, je travaille sur un morceau de code qui va ouvrir un fichier, imprimer le contenu à l'écran, vous demander si vous souhaitez modifier/supprimer/etc. le contenu, le faire, puis réimprimer les résultats et vous demander une confirmation pour sauvegarder. 

Je suis bloqué à l'impression du contenu du fichier. Je ne sais pas quelle commande utiliser pour faire cela. J'ai déjà essayé de saisir plusieurs commandes auparavant, mais voici la dernière que j'ai essayée et non, le code n'est pas complet:

from sys import argv

script, filename = argv
print "Who are you?"
name = raw_input()

print "What file are you looking for today?"
file = raw_input()

print (file)

print "Ok then, here's the file you wanted." 

print "Would you like to delete the contents? Yes or No?"

J'essaie d'écrire ces codes de pratique pour inclure autant que j'ai appris jusqu'à présent. De plus, je travaille sur Ubuntu 13.04 et Python 2.7.4 si cela fait une différence. Merci pour toute aide jusqu'ici :)

17
Courtney

Ouvrir un fichier en lecture en python est simple:

f = open('example.txt', 'r')

Pour tout obtenir dans le fichier, utilisez simplement read ()

file_contents = f.read()

Et pour imprimer le contenu, faites juste:

print (file_contents)

N'oubliez pas de fermer le fichier lorsque vous avez terminé.

f.close()
24
Greg

Faites juste ceci:

>>> with open("path/to/file") as f: # The with keyword automatically closes the file when you are done
...     print f.read()

Cela imprimera le fichier dans le terminal.

22
iCodez
with open("filename.txt", "w+") as file:
  for line in file:
    print line

Cette instruction with l'ouvre et la ferme automatiquement et vous pouvez parcourir les lignes du fichier avec une simple boucle for

1
Stephan

Cela vous donnera le contenu d'un fichier séparé, ligne par ligne dans une liste:

with open('xyz.txt') as f_obj:
    f_obj.readlines()
1
Noel Evans

entrer un fichier:

fin = open(filename) #filename should be a string type: e.g filename = 'file.txt'

pour sortir ce fichier vous pouvez faire:

for element in fin:
    print element 

si les éléments sont une chaîne, vous feriez mieux de l'ajouter avant l'impression:

element = element.strip()

strip() supprimer les notations comme celle-ci: /n

1
SamuraiT

Comment lire et imprimer le contenu d'un fichier txt

Supposons que vous ayez un fichier appelé fichier.txt que vous voulez lire dans un programme et que son contenu est le suivant:

this is the content of the file
with open you can read it and
then with a loop you can print it
on the screen. Using enconding='utf-8'
you avoid some strange convertions of
caracters. With strip(), you avoid printing
an empty line between each (not empty) line

Vous pouvez lire ce contenu: écrivez le script suivant dans le bloc-notes:

with open("file.txt", "r", encoding="utf-8") as file:
    for line in file:
        print(line.strip())

enregistrez-le sous le nom readfile.py, par exemple, dans le même dossier que le fichier txt.

Ensuite, vous l'exécutez (en maintenant la touche Maj enfoncée et en cliquant avec le bouton droit de la souris, puis en sélectionnant Invite dans le menu contextuel), en écrivant dans l'invite:

C:\exemples> python readfile.py

Vous devriez avoir ceci. Faites attention à la Parole, elles doivent être écrites telles que vous les voyez et à l'indentation. C'est important en python. Utilisez toujours la même indentation dans chaque fichier (4 espaces suffisent).

sortie

this is the content of the file
with open you can read it and
then with a loop you can print it
on the screen. Using enconding='utf-8'
you avoid some strange convertions of
caracters. With strip(), you avoid printing
an empty line between each (not empty) line
0
Giovanni Gianni