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 :

Appliquer .exe à l'ensemble des fichiers d'un dossier


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Par défaut Appliquer .exe à l'ensemble des fichiers d'un dossier
    Bonjour à tous,


    J'ai le fichier batch tout simple suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D:\Programmes\POISSON\PoissonRecon.x64\PoissonRecon.exe --in D:\Programmes\POISSON\fichier1_test.ply --color 16 --depth 10 --out fichier1_test_poisson.ply --density --samplesPerNode 1.50 --fullDepth 5 --pointWeight 4 --bType 2
    Ce programme va donc chercher un fichier executable et le fichier executable attend les paramètres suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    --in D:\Programmes\POISSON\fichier1_test.ply --color 16 --depth 10 --out fichier1_test_poisson.ply --density --samplesPerNode 1.50 --fullDepth 5 --pointWeight 4 --bType 2
    Ceci est un cas simple pour 1 seul fichier.


    J'ai 2 objectifs:
    1. Parvenir à écrire ce même programme en langage Python
    2. Le cas précédent est pour 1 fichier où sa localisation et son nom sont précisés dans le script. En pratique j'aurai X fichiers (.ply) situés dans un dossier. J'aimerais que le programme lance l'executable PoissonRecon.exe pour chacun des fichiers .ply se trouvant dans le dossier (le dossier pourra être cherché par l'utilisateur via une fenêtre contextuelle éventuelle après lancement du programme).

    J'imagine que d'une part une boucle for serait utile dans ce cas ? D'autre part qu'il faudrait utiliser des variables ?



    Je pars vraiment pas loin de 0 en programmation .. Alors toute aide serait appréciable !



    Merci beaucoup à tous ceux qui se sont donnés la peine de lire jusqu'à la fin

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Vois du côté de os.system du module os ou avec subprocesscall du module subprocess.

  3. #3
    Membre à l'essai
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Par défaut
    Merci pour votre réponse

    J'ai lancé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import subprocess, os
     
    subprocess.Popen("D:\Programmes\POISSON\PoissonRecon.x64\PoissonRecon.exe", "--in D:\Programmes\POISSON\fichier1_test.ply", "--color 16", "--depth 9", "--out fichier1_test_poisson.ply", "--density", "--samplesPerNode 1.50", "--fullDepth 5", "--pointWeight 4", "--bType 2")


    J'ai le message suivant:
    TypeError: bufsize must be an integer

  4. #4
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617

  5. #5
    Membre à l'essai
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Par défaut
    Merci pour ce lien.


    A présent nouveau message d'erreur..

    WindowsError: [Error 2]Le fichier spécifié est introuvable

    Pourtant le chemin indiqué est correct


    Je précise que j'ai la version 2.7 de Python installée sur l'ordinateur (je sais pas si cela peut avoir une importance)

  6. #6
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Test à faire :
    place ton fichier python dans le même répertoire que l'exe et enlève le chemin absolu.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Salut,

    Citation Envoyé par manny- Voir le message
    WindowsError: [Error 2]Le fichier spécifié est introuvable

    Pourtant le chemin indiqué est correct
    Ce sont des noms de fichiers Windows avec des '\' comme séparateurs.
    Python hérite du langage C l'utilisation de ce '\' comme quote pour écrire permettre d'écrire par exemple retour a la ligne: \r, tabulation: \t,... i.e. deux caractères qui seront interprétés comme un seul.
    Dans votre cas, c'est '\f' qui est interprété:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> s = 'D:\Programmes\POISSON\fichier1_test.ply'
    >>> s
    'D:\\Programmes\\POISSON\x0cichier1_test.ply'
    pour s'en sortir, il fait "doubler" le '\' ou utiliser un raw string (dire à Python de ne pas interpréter ce '\'):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> s = r'D:\Programmes\POISSON\fichier1_test.ply'
    >>> s
    'D:\\Programmes\\POISSON\\fichier1_test.ply'
    >>>
    Mais il est plus facile de prendre le temps de découvrir ces bizarreries pas à pas en apprenant avec un bon tuto. plutôt que de se lancer à l'aventure.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Recherche un mot dans un ensemble des fichiers
    Par rimenis dans le forum Langage
    Réponses: 8
    Dernier message: 21/12/2016, 08h15
  2. Compiler un EXE en emportant des fichiers ressources
    Par whatsup_morty dans le forum Windows Forms
    Réponses: 6
    Dernier message: 20/06/2016, 14h23
  3. Icone du .exe et icone des fichiers associés
    Par electroremy dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 15/11/2009, 11h48
  4. php.exe et chemin des fichiers
    Par isma92 dans le forum Langage
    Réponses: 2
    Dernier message: 23/02/2009, 14h44
  5. Lister des fichiers d'un dossier
    Par ychemla dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/09/2006, 13h54

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