Je tente d'encoder un fichier texte préexistant et de l'écrire dans utf-8. J'ai fait un menu dans lequel on demande à l'utilisateur quel fichier texte ils aimeraient encoder, mais après cela je suis absolument perdu. Je regardais un post précédent et j'ai incorporé ce code dans mon code, mais je ne suis pas sûr de comment cela fonctionne ou ce que je fais.Comment encoder un fichier texte préexistant en utf-8 dans un fichier séparé?
Toute aide serait grandement appréciée!
import codecs
def getMenuSelection():
print "\n"
print "\t\tWhich of the following files would you like to encode?"
print "\n"
print "\t\t================================================"
print "\t\t1. hamletQuote.txt"
print "\t\t2. RandomQuote.txt"
print "\t\t3. WeWillRockYou.txt"
print "\t\t================================================"
print "\t\tq or Q to quit"
print "\t\t================================================"
print ""
selection = raw_input("\t\t")
return selection
again = True
while (again == True):
choice = getMenuSelection()
if choice.lower() == 1 :
with codecs.open(hamletQuote.txt,'r',encoding='utf8') as f:
text = f.read()
with codecs.open(hamletQuote.txt,'w',encoding='utf8') as f:
f.write(text)
if choice.lower() == 2 :
with codecs.open(RandomQuote.txt,'r',encoding='utf8') as f:
text = f.read()
with codecs.open(RandomQuote.txt,'w',encoding='utf8') as f:
f.write(text)
if choice.lower() == 3 :
with codecs.open(WeWillRockYou.txt,'r',encoding='utf8') as f:
text = f.read()
with codecs.open(WeWillRockYou.txt,'w',encoding='utf8') as f:
f.write(text)
elif choice.lower() == "q":
again = False
Merci! Cependant je me demandais où je pourrais trouver le nouveau fichier encodé? C'est probablement une question stupide, mais je suis tellement perdu. – Student
Le nouveau fichier sera placé dans le même répertoire que celui où le script a été exécuté. Je viens juste de réaliser que vos noms de fichier d'entrée et de sortie sont les mêmes. Ainsi, lorsque vous exécutez le script hamletQuote.txt est remplacé par le nouveau fichier encodé utf8 également appelé hamletQuote.txt. J'ai mis à jour ma réponse. Vous devez nommer le fichier de sortie quelque chose de différent si vous souhaitez conserver le fichier d'entrée. –
utilise 'io' au lieu de' codecs'. C'est compatible avec Python 3 et le support de ligne Universal fonctionne –