2016-02-15 1 views
1

Désolé, je recherche environ 1 jour, mais je ne trouve pas la solution.Augmenter le nombre Python

Je possède ce code et fonctionne pas

number = 1 
content = editor.getText() 
while "printing" in content: 
    content = content.replace("printing", "printing-") 
    number += 1 

notepad.new() 
editor.addText(content) 

Je veux remplacer dans un fichier avec le numéro d'augmentation de 10.000 mots.

Exemple

de:

Lorem Ipsum is simply dummy text of the printing 
Other example text is simply from user any 
Lorem Ipsum is simply dummy text of the printing 
Other example text is simply from user roger 
Lorem Ipsum is simply dummy text of the printing 
Other example text is simply from user milton 

à:

Lorem Ipsum is simply dummy text of the printing-1 
Other example text is simply from user any 
Lorem Ipsum is simply dummy text of the printing-2 
Other example text is simply from user roger 
Lorem Ipsum is simply dummy text of the printing-3 
Other example text is simply from user milton 

Le mot désiré est, printing-1,printing-2,print-3, ... à printing-10000.

J'ai essayé avec le plugin python dans notepadd ++ mais ne fonctionne pas, aussi je connais l'éditeur de colonne d'option (alt + c) dans notepad ++ mais je ne peux pas sélectionner 10.000 mots.

¿Comment traiter cette tâche avec python dans notepadd ++?

Merci pour la lecture

+0

Que signifie "ne fonctionne pas"? – Altoyyr

+0

'content = content.replace (" impression "," impression- "+ str (nombre))' – Zety

+0

Le problème est tout remplacer le mot est: impression-1, impression-1, impression-1 ... Devrait être, impression -1, impression-2, impression-3 ... etc. Je teste avec le dernier code que vous avez écrit le résultat est le même. –

Répondre

0

Remplacez votre boucle while avec ceci:

split_content = content.split("\n") #split content into sentences by the newline 

new_content = "" 

for sentence in split_content: #split sentence into words 
    for word in sentence.split(" "): 
     if word == "printing": 
      new_content += "printing-%s " % (number) 
      number += 1 
     else: 
      new_content += word + " " 

    new_content += "\n" #put newlines back in to keep original formatting 

Je vous besoin d'aide pour comprendre le code il suffit de demander!

+0

Merci, mais pas de travail. –

+0

Pourriez-vous expliquer pourquoi cela ne fonctionne pas? Je suis un peu incertain de votre problème. – MarkyPython

+0

Salut Marky, merci pour votre soutien. Le problème est tout remplacer le mot est: impression-1, impression-1, impression-1 ... Devrait être, impression-1, impression-2, impression-3 ... etc. Je teste avec le dernier code que vous avez écrit le le résultat est le même. Je veux remplacer dans un fichier simgle avec le nombre d'augmentation. –