Pages : 1
#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
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...
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
Pages : 1