Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/06/2014, à 14:13

Oni_Shadow

[Resolu] Python TypeError

Bonjour,
Je suis actuellement en train dessayer dautomatiser une procedure grace a un script python mais je me heurte a un probleme...
qaund je fais appel a une fonction (que je n ai pqs ecrit et utilise vraissemblablement des fonction ecrite en C++)
j ai

>>>ms.importSTL('K:/test.stl')
true
#(ca marche...)
>>>path='K:/test.stl'
>>>ms.importSTL(path)
true
#(ca marche...)

mais si je fais un

>>>fileName = askopenfilename(filetypes=(("Txt file", "*.txt"),("STL File", "*.stl;*.STL")))
>>>ms.importSTL(fileName)
File "C:/xxx\shaper.py", line 252, in importSTL
    def importSTL(self, *args): return _shaper.Model_importSTL(self, *args)
TypeError: in method 'Model_importSTL', argument 2 of type 'std::string const &'
#(ca marche pas...)

je ne comprend pas pourquoi, avez vous une idee ?

Dernière modification par oni_shadow (Le 15/07/2014, à 20:57)


Rouillé

Hors ligne

#2 Le 10/06/2014, à 14:49

melixgaro

Re : [Resolu] Python TypeError

est-ce que askopenfilename renvoie une variable de type string ? n'est-ce pas un type list ou autre ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#3 Le 10/06/2014, à 18:13

Oni_Shadow

Re : [Resolu] Python TypeError

merci de ta reponse mais je pense que cest bien un string aui est renvoye, qaund je fais
fileName
dans l interpreteur il me retourne
u'path/qui est/correct'
de plus fileName == path retourne true...
une autre idee?


Rouillé

Hors ligne

#4 Le 10/06/2014, à 18:15

pingouinux

Re : [Resolu] Python TypeError

Bonjour,
Pour compléter la réponse de melixgaro, tu peux connaître le type de filename ainsi

filename = ...
print(type(filename))

Hors ligne

#5 Le 10/06/2014, à 18:31

melixgaro

Re : [Resolu] Python TypeError

merci pingouinux de compléter
les lignes de python ont encore du mal à sortir du bout de mes doigts wink


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#6 Le 10/06/2014, à 19:28

Oni_Shadow

Re : [Resolu] Python TypeError

>>>>print(type(fileName))
<type 'str'>

c'est du string non?

Dernière modification par oni_shadow (Le 10/06/2014, à 19:28)


Rouillé

Hors ligne

#7 Le 10/06/2014, à 23:20

pingouinux

Re : [Resolu] Python TypeError

Bah oui, et du coup je ne comprends pas. À tout hasard, que donne

print(fileName)

Hors ligne

#8 Le 10/06/2014, à 23:36

Oni_Shadow

Re : [Resolu] Python TypeError

deja essayé, et c'est tout bon...
meme le if renvois true...
apres j'ai semble it lu quele probleme pouvait venir des binaire en C++
qu'il faudrais ajouter un option avant le namespace::std pour que python et c communique 'bien', je n'ai malheuresement pas acces a leur sources donc... hmm


Rouillé

Hors ligne

#9 Le 10/06/2014, à 23:39

melixgaro

Re : [Resolu] Python TypeError

dans ce cas, rien ne marcherait, non ?
or d'après tes 2 premiers exemple, c'est bon.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#10 Le 10/06/2014, à 23:44

melixgaro

Re : [Resolu] Python TypeError

ce serait pas une variable de type unicode. tu as marqué

u'path/qui est/correct'

dans un post plus haut.

si tu remplaces fileName par str(fileName), c'est mieux ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#11 Le 10/06/2014, à 23:47

Oni_Shadow

Re : [Resolu] Python TypeError

je ne sais pas, je ne comprend pas vraiment, d'ou mon post...
je pensais initialement que c'etait un probleme d'encodage vu que quand je j'affichais mes variable (sans print) j'avais :
>>>path
'C/:path'
>>>fileName
u'c/:path'

je pensais donc au debut que le u posait probleme, apres conversion en rawstring j'ai le meme soucis... et meme si je fais un truc genre
path = 'path/pas/complet'
path += fileName[x:y]
ça ne marche pas, peu importe x et y ...
en clair des que j'essais d'ajouter un bout de la chaine retourné par askopenfilename plus rien ne marche...


Rouillé

Hors ligne

#12 Le 15/07/2014, à 20:59

Oni_Shadow

Re : [Resolu] Python TypeError

Je fais le tours de tous mes topic résolus, cela peut toujours aider quelqu'un...
ici j'ai finalement creer un GUI entier et si je colle ma variable fileName
dans un text entry et que je le recupere a l’exécution du script, tout fonctionnais bien...


Rouillé

Hors ligne