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 :

problème avec os.system()


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Par défaut problème avec os.system()
    Bonjour à tous,

    Un petit souci à vous soumettre :

    J'utilise la fonction suivante pour ouvrir un PDF :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system("temp\\doc.pdf")
    Tout fonctionnait jusqu'à ce que je déplace mon application dans un répertoire de "Mes documents". Et là, il me donne l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CMD.EXE a été démarré avec le chemin d'accès
    comme répertoire en cours. Les chemins d'accès UNC
     ne sont pas pris en charge. Utilisation du répertoire 
    Windows par défaut
    Il faut savoir que ce répertoire "Mes Documents" est synchronisé avec un serveur. L'erreur viendrait-elle de là ?

    Merci pour votre aide !

  2. #2
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Il faut savoir que ce répertoire "Mes Documents" est synchronisé avec un serveur. L'erreur viendrait-elle de là ?
    Surement, puisque tu as comme erreur:
    Les chemins d'accès UNC
    ne sont pas pris en charge.
    @+

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    Il faut savoir que os.system execute la commande dans un shell (cmd), donc normalement, cela devrait donner le même résultat qu'en tapant temp\doc.pdf depuis une fenetre cmd.
    Tu devrais essayer d'appeler d'ouvrir le fichier avec os.startfile ou bien subprocess.Popen (en appelant bien sur acrobat) avec l'argument shell=False au lieu de os.system.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il y a apparemment un problème spécifique à os.system concernant les noms de chemin avec des espaces.

    Si dans une console DOS je demande l'exécution de (avec les guillemets!):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "C:\Documents and Settings\Tyrtamos\Mes documents\fichier.pdf"
    alors, j'obtiens bien l'affichage du fichier pdf.

    Si, par contre, je fais la même chose avec os.system (avec les doubles guillemets):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    os.system('"C:\Documents and Settings\Tyrtamos\Mes documents\fichier.pdf"')
    alors, j'ai un message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'C:\Documents' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    Cela montre que c'est l'espace qui empêche l'exécution demandée.

    Tyrtamos

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Par défaut
    meme en doublant les \? (\\)

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par Fructidor Voir le message
    meme en doublant les \? (\\)
    Oui (même message d'erreur).

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

Discussions similaires

  1. Problème avec fonction system();
    Par Alays dans le forum C
    Réponses: 3
    Dernier message: 23/09/2012, 11h08
  2. Problème avec commande system et aliases
    Par tnarol dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2011, 17h39
  3. problème avec os.system sous windows7
    Par nikotin dans le forum Windows 7
    Réponses: 1
    Dernier message: 09/05/2010, 22h32
  4. Problème avec Call System
    Par DeGlinGos dans le forum Fortran
    Réponses: 1
    Dernier message: 17/07/2008, 08h30
  5. Problème avec commande system(MacOs x)
    Par clampin dans le forum C
    Réponses: 3
    Dernier message: 12/09/2007, 16h06

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