J'utilise Windows 10 et Winpython. J'ai un fichier avec une extension .dwt (c'est un fichier texte). Je veux changer l'extension de ce fichier en .txt.
Mon code ne génère aucune erreur, mais il ne modifie pas l'extension.
from pathlib import Path
filename = Path("E:\\seaborn_plot\\x.dwt")
print(filename)
filename_replace_ext = filename.with_suffix('.txt')
print(filename_replace_ext)
Les résultats attendus sont imprimés (comme indiqué ci-dessous) dans la sortie de la fenêtre ipython de winpython:
E:\seaborn_plot\x.dwt
E:\seaborn_plot\x.txt
Mais lorsque je cherche un fichier avec une extension renommée, l'extension n'a pas été modifiée, seul le fichier d'origine existe. Je soupçonne les autorisations de fichiers Windows.
De la documentation:
Path.rename(target)
Renommez ce fichier ou répertoire à la cible donnée . Sous Unix, si la cible existe et est un fichier, il sera remplacé silencieusement si l'utilisateur a l'autorisation. target peut être soit une chaîne soit un autre objet de chemin.
pathlib
- Chemins du système de fichiers orientés objet sur docs.python.org
Vous pouvez l'utiliser comme ceci:
from pathlib import Path
filename = Path("E:\\seaborn_plot\\x.dwt")
filename_replace_ext = filename.with_suffix(".txt")
filename.rename(filename_replace_ext)