IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Ajout extension fichier automatique


Sujet :

Tkinter Python

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Points : 91
    Points
    91
    Par défaut Ajout extension fichier automatique
    Bonjour, je souhaite que lorsque j'enregistre un fichier texte (par exemple) avec ma fonction 'sauver' rapidement décrite ci après, l'extension '.txt' soit ajoutée automatiquement au nom du fichier si l'utilisateur ne l'a pas spécifiée et que le format 'txt' a été choisi dans la boite de dialogue. Y a t il une option particulière pour faire cela automatiquement pour chaque extension de 'filetypes'? Ou alors comment récupère t on l'extension choisi dans la boite de dialogue d'enregistrement de fichier pour que je puisse l'ajouter au nom de mon fichier?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def sauver():
        nomdufichier= tkFileDialog.asksaveasfilename(title='Save the file', filetypes=[("Text File","*.txt";),("All", "*";)]) ###ajouter les extensions au fichiers
        choosenFileDest = open(filenamed, 'w')
        contenu = "contenu de mon fichier"
        choosenFileDest.write(contenu)
        choosenFileDest.close()
    Merci d'avance

  2. #2
    Membre averti Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Points : 390
    Points
    390
    Par défaut
    Bonjour,

    Je n'en savais pas plus que vous et j'en ai profité pour faire des tests. Apparemment, il est impossible de savoir ce que l'utilisateur avait sélectionné, peut-être aurons-nous infirmation.

    Il est facile de simuler le comportement habituel sur votre OS. Par exemple ne rien modifier quand une extension - n'importe laquelle - est présente. Et ajouter l'extension par défaut dans le cas contraire.
    J'utilise pour cela os.path.splitext(filename)[1][1:]

    Il y a quand même un piège si vous ajoutez brutalement l'extension: le tkFileDialog.asksaveasfilename demande confirmation si vous risquez d'écraser un fichier existant. Cette sécurité saute si vous ajoutez l'extension sans autre précaution.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Bonjour,
    Il existe l'option "defaultextension".
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomdufichier= tkFileDialog.asksaveasfilename(title='Save the file', defaultextension='*.txt',filetypes=[("Text File","*.txt";),("All", "*";)])

  4. #4
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Points : 91
    Points
    91
    Par défaut
    oui, en effet cette option peut m'aider, mais mon problème est que je voudrais que l'extension soit ajoutée automatiquement selon le type de fichier choisi dans la boite de dialogue d'enregistrement de fichier. Or ici cela ne gère qu'un type d'extension par défaut indépendemment du type de fichier choisi dans la boite de dialogue.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 160
    Points : 91
    Points
    91
    Par défaut
    Bon après une si longue attente, je n'ai aucune solution si ce n'est que l'ajout de l'extension fonctionne automatiquement sous linux et que sous windows, pas du tout!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/11/2014, 17h47
  2. Réponses: 6
    Dernier message: 16/10/2014, 13h50
  3. VBA: Ajout un "range" automatiquement dans plusieurs fichiers
    Par overflow dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/10/2010, 08h06
  4. [WinAPI] Infos extensions fichiers
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/06/2004, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo