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 :

Script Python / Maya 2016


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Webplanneur
    Inscrit en
    Septembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Septembre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Script Python / Maya 2016
    Bonjour

    Je suis complètement novice sur Python (mais de bonne volonté ).

    Je souhaiterais faire un script en python pour maya 2015 qui me permet de récupérer des infos d'une chaine de caractère de type :

    {"id":"8c308210-61c2-939b-4331-d31a5933717c","param":{"sx":30.068582580288577,"sy":0,"sh":319.50359997971856,"sw":152.03964412827986,"xmin":138,"ymin":210,"xmax":276,"ymax":500},"border":{"width":0,"color":{"r":173,"g":216,"b":230,"a":1}}},{"id":"223aead3-77b0-f9e0-962b-e44ef11f3545","param":{"sx":4.599025827341448,"sy":0,"sh":319.50359997971856,"sw":202.97875763417412,"xmin":276,"ymin":245,"xmax":438,"ymax":500},"border":{"width":0,"color":{"r":173,"g":216,"b":230,"a":1}}},.....

    Ce qui m'intéresse ce sont les valeurs : sx, sy,sh,sw,xmin,ymin,xmax,ymax

    Quelle est la bonne méthode pour commencer ?

    Merci à vous Pythoniens

    Fransua

    (Y'a pas un smiley avec un serpent ?)

  2. #2
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    En clarifiant, on obtient ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    data = [{"id":"8c308210-61c2-939b-4331-d31a5933717c",
                "param": {
                    "sx":30.068582580288577,
                    "sy":0,
                    "sh":319.50359997971856,
                    "sw":152.03964412827986,
                    "xmin":138,
                    "ymin":210,
                    "xmax":276,
                    "ymax":500
                    },
                "border": {
                    "width":0,
                    "color": {
                        "r":173,
                        "g":216,
                        "b":230,
                        "a":1
                        }
                    }
                },
            {"id":"223aead3-77b0-f9e0-962b-e44ef11f3545",
                "param": {
                    "sx":4.599025827341448,
                    "sy":0,  
                    "sh":319.50359997971856,    
                    "sw":202.97875763417412,    
                    "xmin":276,
                    "ymin":245,
                    "xmax":438,
                    "ymax":500
                    },
                "border": {
                    "width":0,
                    "color": {
                        "r":173,   
                        "g":216,
                        "b":230,
                        "a":1
                        }   
                    }
                }
            ]
    qui semble un dictionnaire python valide, tu peux donc accéder à ses valeurs par les noms des clés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for datum in data:
        print('ID: %s' % datum['id'])
        print('sx: %s' % datum['param']['sx'])
        print('sy: %s' % datum['param']['sy'])
        ...

  3. #3
    Candidat au Club
    Homme Profil pro
    Webplanneur
    Inscrit en
    Septembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Septembre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse Vins... en fait je me suis mal expliqué :

    Ces chaînes de caractères sont dans un fichier text que je voudrais dans un premier temps extraire à partir du script python pour recréer la structure que tu as décrite ensuite.

    Je pêche plutôt sur cette partie.

    Fransua

  4. #4
    Expert éminent

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Peut-être est-ce un fichier json valide ...

    Essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    import json
     
    with open('monfichier' , 'r') as inf:
        data = json.loads(inf.read())
     
    for datum in data:
        print('ID: %s' % datum['id'])
        print('sx: %s' % datum['param']['sx'])
        print('sy: %s' % datum['param']['sy'])
    tu devras peut-être mettre le chemin complet du fichier.

    Si tu obtiens une erreur, copie ici le traceback complet.

  5. #5
    Candidat au Club
    Homme Profil pro
    Webplanneur
    Inscrit en
    Septembre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Septembre 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bravo ça fonction super :

    ID: d5a1e52b-753f-da1e-0d25-ffe8694d937d
    sx: 0
    sy: 19.270626716855187
    sy: 2336.6204357150514
    sy: 4729.1165775015525
    sy: 0
    sy: 417.20000000000005
    sy: 167.58
    sy: 500
    ...

    Je vais essayer maintenant de stocker tout ça dans un tableau (si je galère je reviens :-)

Discussions similaires

  1. Python Maya scripting
    Par reefyankee dans le forum 3D
    Réponses: 3
    Dernier message: 22/08/2012, 16h37
  2. Réponses: 7
    Dernier message: 18/04/2008, 20h07
  3. Accents Command Line depuis un script Python
    Par nicou50 dans le forum Général Python
    Réponses: 6
    Dernier message: 29/12/2006, 10h41
  4. Interpreter un script python dans un prog python
    Par romeo9423 dans le forum Général Python
    Réponses: 3
    Dernier message: 01/12/2005, 16h16
  5. Réponses: 3
    Dernier message: 05/04/2005, 14h26

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