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 :

[Résolu]Convertir un chemin en chaine.


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    indépendant
    Inscrit en
    Juin 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : indépendant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 26
    Par défaut [Résolu]Convertir un chemin en chaine.
    Tous d'abord bonjour.

    J'ai cherché avec des mots clées, mais je dois m'y prendre comme un gland.

    Alors voila, je développe un outils de conversion de données de fichiers vers un autre logiciel en passant par python.

    A la base, il s'agit de lire un fichier au format .txt, le dit fichier est accompagné d'images.

    Et la j'ai un problème.

    Je dois ordonner au logiciel de charger les images.

    Pour se faire, j'ai commencer par extraire le chemin du fichier .txt a l'aide des fonctions
    dialogue.path()
    et
    os.path.dirname()
    Ensuite, je lit le nom du fichier image à charger et je le fusionne avec les données précédentes grâce à la commande
    os.path.join
    Jusque la, tout va bien.
    Par exemple, pour un fichier .txt, accompagné de son image (bidule.jpg), se trouvant tous sous le répertoire c:\bidulke\truc\

    J'obtient bien le chemin c:\bidulke\truc\bidule.jpg

    Le problème, c'est que le format ne correspond pas

    Pour que le logiciel lise l'image, il faut passer par une commande SetString et que le chemin soit au format "c:\bidulke\truc\bidule.jpg".

    J'ai passé 3 jours à essayer diverses commandes, en vain.


    La question est donc, comment transformer le chemin reconstruit en "chemin reconstruit"?



    une autre question,C'est l'utilisateur qui sélèctionne le fichier par le biais d'une commande qui fait apparaitre une fenètre windows, mon fichier .txt possèdent une extension spécifique, comment dire à python, lorsque j'ouvre une fenêtre de désignation de ne voire que les fichier de se format.


    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Un chemin de fichier n'est pas un objet particulier en Python, c'est une chaîne de texte.

    Les fonctions os.path.dirname() et os.path.join() retournent une chaîne de texte.

    Donc où est ton problème ?

  3. #3
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    "/" VinsS.
    Un simple str.replace("/", "\") devrais faire l'affaire.

    @+

  4. #4
    Membre actif
    Homme Profil pro
    indépendant
    Inscrit en
    Juin 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : indépendant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 26
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Un chemin de fichier n'est pas un objet particulier en Python, c'est une chaîne de texte.

    Les fonctions os.path.dirname() et os.path.join() retournent une chaîne de texte.

    Donc où est ton problème ?
    Ben, apparemment, pour lui, si.

    Citation Envoyé par PauseKawa Voir le message
    "/" VinsS.
    Un simple str.replace("/", "\") devrais faire l'affaire.

    @+
    SyntaxError: EOL while scanning string literal


    Je hais ma vie!

    Bug regle en écrivant "\\" en place de "\", mais il refuse, à nouveau de charger l'image.

    Cela me démonte, si je lui dit

    evpath = ("C:\trucmuche\trucmuch.jpg")

    ev.SetString(evpath)
    La , il charge.

    Si j'écris
    evpath = os.path.join(filepath, evname)
    ev.SetString(evpath)
    Alors la, il ne trouve pas l'image, je vais finir par penser que ce logiciel me déteste.
    Le pire étant que, dans le système de gestion des images, le chemin est correctement indiqué, mais il ne fait pas le travail.

    Ou alors, c'est un problème de variable d'environnement, il cherche le chemin ailleur?

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Je ne comprenais pas la question comme cela.

    il faut passer par une commande SetString et que le chemin soit au format "c:\bidulke\truc\bidule.jpg".
    ma réponse est que c:\bidulke\truc\bidule.jpg est une chaîne de texte de toutes façons. La question des séparateurs de windows est censée être prise en charge par os.path.join() que shanoc dit avoir utilisé.

    Je pense qu'il faudrait nous dire de quel programme parle shanoc, d'où sort ce SetString ?

  6. #6
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Ou alors, c'est un problème de variable d'environnement, il cherche le chemin ailleur?
    Il ne comprend pas \ comme un caractère d’échappement par hasard ? Dans ce cas cela serait bien \\

    Edit : Me culpa VinsS. C'est moi qui n'est pas compris la question.

  7. #7
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    \b est une ancre et \t une tabulation...
    Le programme en question comprend les caractères d'échappement ?

  8. #8
    Membre actif
    Homme Profil pro
    indépendant
    Inscrit en
    Juin 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : indépendant
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2013
    Messages : 26
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Je ne comprenais pas la question comme cela.



    ma réponse est que c:\bidulke\truc\bidule.jpg est une chaîne de texte de toutes façons. La question des séparateurs de windows est censée être prise en charge par os.path.join() que shanoc dit avoir utilisé.

    Je pense qu'il faudrait nous dire de quel programme parle shanoc, d'où sort ce SetString ?
    Le programme est poser pro 2012.

    Explanation
    Set the string value. In this version of Poser, this is the path of a texture or movie file.
    Arguments
    Enter the path name for the desired texture or movie file.
    Syntax
    <NoneType> SetString(<StringValue> file)
    Possible que se soit un bug du dit programme.

    Et, ce qui me rend fou, c'est que dans la gestionnaire d'image de poser, ben le chemin est rigoureusement exact.

  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Poser prend des scripts Python comme Blender ou Maya ? C'est une bonne chose.

    Tu veux tester ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    # ta construction
    evpath = os.path.join(filepath, evname) 
    # test
    print(os.path.isfile(evpat))
    Si la réponse est True, alors le problème est ailleurs que dans la construction du chemin.

Discussions similaires

  1. Réponses: 45
    Dernier message: 27/09/2006, 10h44
  2. convertir a partir de chaine de caractere
    Par hammacom dans le forum Java ME
    Réponses: 1
    Dernier message: 24/07/2006, 08h26
  3. Réponses: 4
    Dernier message: 16/05/2006, 21h03
  4. convertir un nombre en chaîne de caractères
    Par Calbane dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/04/2006, 20h12
  5. convertir un nombre en chaine de caractere
    Par c_moi_c_moi dans le forum Oracle
    Réponses: 3
    Dernier message: 23/11/2005, 11h24

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