Je veux écrire un code python qui ouvre un fichier texte et remplacer par un mot que je veux lui envoyer. Pouvez-vous me donner un exemple? Merci.Qu'est-ce que la fonction de remplacement en Python
Répondre
Il y a tellement de façons de le faire, mais assurez-vous de regarder Template Strings pour voir si elles sont bien adaptées à votre application.
De la documentation:
>>> from string import Template
>>> s = Template('$who likes $what')
>>> s.substitute(who='tim', what='kung pao')
'tim likes kung pao'
>>> d = dict(who='tim')
>>> Template('Give $who $100').substitute(d)
Traceback (most recent call last):
[...]
ValueError: Invalid placeholder in string: line 1, col 10
>>> Template('$who likes $what').substitute(d)
Traceback (most recent call last):
[...]
KeyError: 'what'
>>> Template('$who likes $what').safe_substitute(d)
'tim likes $what'
qui ne gère pas le fichier lire et écrire! – Joschua
@Joschua: Vrai. Il y a beaucoup d'autres réponses qui font cela, je pensais juste que le PO devrait être conscient qu'il y a des modules construits exactement pour ce cas d'utilisation. – Stephen
hmm ok, mais je pense qu'il est un peu inappropié, d'utiliser un modèle "langage" truc pour juste remplacer un mot et l'enregistrer dans un fichier. – Joschua
Il peut être aussi simple que cela:
data = open('input_file').read()
open('output_file', 'w').write(data.replace('old_word', 'new_word'))
Une version plus propre:
fh = open('input_file')
data = fh.read()
fh.close()
data = data.replace('old_word', 'new_word')
fh = open('output_file', 'w')
fh.write(data)
fh.close()
+1 pour la version propre. –
Ce fichier n'est plus valide. (http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files) et pourquoi mentionner une version malpropre? Un débutant devrait l'apprendre propre dès le début. – Joschua
Alors, où exactement dans votre lien suggère-t-il que 'fichier' est obsolète? –
vous pouvez le faire de cette façon en utilisant le with-statement :
PATH = "/home/Eva/test.txt"
with open(PATH) as f: # read the file content
content = f.read()
with open(PATH, "w+") as f: # w+ stands for (re)write
content = content.replace("abc", "test")
f.write(content)
(abc est le ancien texte, essai le nouveau texte, qui remplacera vieux)
Vous pouvez en savoir plus sur les fichiers here. J'espère que cela vous aide.
-1: Ne faites pas ça. – nosklo
Désolé, vous avez raison, je l'ai manqué totalement (édité pour fonctionner correctement) – Joschua
problème de brassage - la première fois que vous avez ouvert le fichier, vous ne l'avez pas fermé explicitement et juste après oui, l'objet fichier sera fermé quand il ne sera plus utilisé mais c'est spécifique à l'implémentation et vous risquez que l'objet soit encore ouvert pendant que vous essayez d'ouvrir pour écrire –
surpris que MarteliBot n'a pas encore répondu :-) (je l'ai appris fileinput
de lui ici dans un autre thread) - si pressé, vous pouvez effectuer les opérations suivantes:
import fileinput
for line in fileinput.input('somefile.txt', inplace=1):
print line.replace('OldWord', 'NewWord'),
ps. cela redirige en fait stdout vers le même fichier de manière sûre (c'est-à-dire écrit dans tempfile et renomme plus tard, etc.). n'est-ce pas joli?
sed s/oldword/newword/g originalfile.txt > fixedfile.txt
:-)
Vous voudrez envelopper dans un appel 'subprocess.Popen'. – detly
- 1. Remplacement du texte en Python
- 2. fonction texte Remplacement en php
- 3. Remplacement d'une définition de fonction en C
- 4. Mercurial/Python - Que fait la fonction Underscore?
- 5. Problème avec la fonction de remplacement
- 6. Remplacement d'un caractère d'une chaîne en python
- 7. Remplacement de PyString_AS_STRING dans python 3.x
- 8. Fonction de remplacement de texte "simple"
- 9. Python: méthode remplacement calendrier Module
- 10. remplacement de signal.alarm dans Windows [Python]
- 11. commande CHOIX en DOS remplacement/reproduction en python
- 12. La fonction de remplacement de chaîne de concepteur SharePoint
- 13. Remplacement une partie de chaîne avec Python
- 14. Fonction aléatoire en Python
- 15. composition de la fonction Python
- 16. Que fait cette fonction en Python impliquant urllib2 et BeautifulSoup?
- 17. Problème avec la fonction en python
- 18. fonction d'impression en Python
- 19. remplacement de la fonction .ALL() pour les navigateurs autres que IE
- 20. Comment voir la signature de la fonction en Python?
- 21. Comment utiliser le caractère d'échappement en fonction de remplacement lors du remplacement des citations dans VB
- 22. L'accès Python à l'objet en tant que fonction (pas __call__)
- 23. remplacement approprié pour l'expression de python
- 24. Imprimer la liste des paramètres de la fonction en Python
- 25. C++ - Remplacement ou surcharge de fonction
- 26. Sqlite en remplacement de fopen()?
- 27. Que fait la classe __build_class__ de Python?
- 28. Comment utiliser la fonction de remplacement SQL efficacement?
- 29. preg_replace: remplacement en utilisant%
- 30. Créer une fonction de remplacement dans vb.net
dans quelle mesure avez-vous avec ce que nous pouvons aider à corriger – AutomatedTester
remplacer quoi? tout le contenu du fichier? – SilentGhost
non pas tout le contenu du fichier. juste une partie du fichier qui a le mot de remplacement. –