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

Python Discussion :

Crée dossier avec python sous Vista


Sujet :

Python

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut Crée dossier avec python sous Vista
    Bonjour a tous,
    Je redige ce topic car j'ai comme son nom l'indique un probleme pour crée un dossier ou un fichier à certain moment avec Vista. J'utilise la fonction connu de tous, file = open('nomdufichier,'w'), en soit je ne pense pas que cette dernière soit éronné, mais n'y a t il pas un moyen avant d'éxécuter cette requete de montrer à vista que nous avons les droits requit pour créer un dossier ?

    Je vous remercie d'avance a tous et vous souhaite une bonne continuation dans cet univers formidable : python ^^

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    sa c'est pour créer un fichier et non un dossier ;-)
    pour un dossier os.mkdir(name)
    me semble =P

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut
    Eu oui désolé, c'est que j'ai voulu alle vite et faire bref, mais le probleme revient toujours au meme, création de dossiers et de fichiers sont impossibles avec seulement ces commandes.

  4. #4
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    es-tu connecté en tant qu'administrateur ? je dirais à première vues que c'est au niveau de vista qu'il faut effectuer des reglages, malheureusement (façon de parler) je n'ai eu vista que deux petites semaines, je ne saurais donc t'en dire plus... mais creuses de ce côté là

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut
    Bon apres quelque recherche, je me suis résigner à utiliser la seul possibilité que windows vista me proposait, celui de demander a chaque lancement du logiciel python, la confirmation que l'utilisateur est bien ladministrateur de l'ordinateur, pour cela, une fois votre exe crée, faites clic droit sur l'exe, propriete > compatibilité (onglet) puis coché la case, exécuter ce programme en tant qu'administrateur puis valider.

    Maintenent a chaque lancement de l'executable, l'ordinateur vous demande la confirmation des droits d'acces, (ce qui est un peu embetant) mais permet egalement au logiciel d'effectuer toutes les taches pouvant dépendre de droits tel que création de fichier dossier et bien d'autre...

    Pas vraiment résolu mais disons que c'est la particularité de vista afin d'empecher certains programmes malsains (virus et autres) d'endommager le systeme, disons que c'est la seul solution

  6. #6
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Juste pour information, tu voulais créer un dossier dans quel dossier ?

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut
    Ba le fait est que c'est une application qui est disponible gratuitement sur mon site, lors de l'installation, je n'ai mit aucune restriction sur le choix du dossier, donc j'ai pris l'éventualité que l'utilisateur installe mon logiciel dans le program file, d'ou mon probleme, en effet si mon dossier est sur le bureau, le probleme ne se pose pas. Mais bon je suis tributaire des utilisateurs qui eux veulent simplement que sa marche.

  8. #8
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Une solution serais de passer par un launcher de ton application en utilisant le package win32api http://starship.python.net/crew/mhammond/win32/ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from win32api import ShellExecute
    import sys
     
    print sys.getwindowsversion()
    if sys.getwindowsversion()[0]>=6:
        try:
            ShellExecute(0, 'runas', 'c:\\python25\\python.exe', 'e:\\temp\\test4.py', 'e:\temp', 1)
        except:
            print 'pas bon'
    else:
        pass
    Par contre ce qui est dommage, c'est que le nom de l'application reste python.exe. Pour pallier à ça tu peux utiliser py2exe je pense.

    L'autre solution si tu es en 2.6 serait de créer une distribution de ton application, il y a une option que je n'ai pas tester pour l'uac : http://www.python.org/doc/2.6/distut...ss-control-uac

    Après tu peux toujours vérifier si ton application est installé dans un dossier qui à les droits, si ce n'est pas le cas, d'envoyer un message à l'utilisateur expliquant la raison.

    Dernière solution, mais je ne sais pas ce que tu crée comme éléments, serait de créer les dossiers/fichiers dans le dossier 'mes documents' de l'utilisateur, ca me parait le plus propre.

    Par principe, une application n'a pas à écrire dans 'program files' par exemple, si c'est un fichier temporaire c'est dans 'temp', si c'est un fichier utilisateur c'est dans 'mes documents'.

    P.S. : ne pas prendre le code de test de la version de windows que j'ai fais au pied de la lettre, je ne test même pas l'os là.

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Points : 257
    Points
    257
    Par défaut
    Je te remercie de toutes ces possibilités, il est vrai que c'est pas le top d'écrire dans le program files mais disons que mon application est comprise en un seul dossier, ce qui permet de le deplacer facilement dans lordinateur voir sur un autre ordinateur tout en gardant en mémoire les données, si j'en met un peu partout dans temp, mes documents et tout, cela ne serait plus possible et la desinstallation de mon application deviendrai également plus compliqué, alors que la je détruit le dossier contenent le dossier.

    Je vais réfléchir à l'utilisation des fonctions que tu me proposes mais bon en plus je suis en python 2.5 donc a voir, mais merci beaucoup, toutes ces fonctions ne sont pas perdus, elles sont dans meme tete pretent a etre resortie en cas de probleme.

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

Discussions similaires

  1. [Compilation] Compilation avec Mingw sous Vista
    Par redfric dans le forum Débuter
    Réponses: 1
    Dernier message: 23/01/2008, 16h15
  2. Zipper un dossier avec ses sous-dossiers
    Par mnssylvain dans le forum VBA Access
    Réponses: 4
    Dernier message: 17/01/2008, 23h42
  3. Delphi 7 avec Access sous Vista
    Par tomy29 dans le forum EDI
    Réponses: 4
    Dernier message: 19/12/2007, 13h25
  4. Problème avec Shellexecute sous Vista
    Par scara dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2007, 18h09
  5. Compilé avec VC++ sous vista avec sdl (bug)
    Par Narkoleptik dans le forum Visual C++
    Réponses: 3
    Dernier message: 06/03/2007, 18h47

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