Python stuff [Was: Re: [PD-dev] Re: file library]
Frank Barknecht
fbar at footils.org
Mon Apr 3 00:57:16 CEST 2006
Hallo,
Thomas Grill hat gesagt: // Thomas Grill wrote:
> [ symbol ABC (
> -> 2nd inlet
> [ py .str @py 1 ] .... use internal str function and pass on Python
> object
> -> 2nd inlet
> [ pym lower ] .... apply lower method to Python object
> -> 1st inlet
> [ print STRING ]
>
> the weakness at the moment is that all PD symbols have to be explicitly
> converted into string objects, which is not very conventient
> (especially with symbols in lists). I'll add an attribute, so that this
> happens automatically, in order to enable easy usage of [ py
> string.replace ] etc.
Ah, that's cool, pym makes my little script superfluous, which is
good.
The automatic conversion could be great. But I wonder, if it could be
made to "do the right thing" with floats as well? The pycall.py script
I posted just converts everything in the args-list to strings. This
has the nasty side effect, that floats or ints are converted as well.
For example the "maxsplit" count of string.split() then cannot be
used, because the 3 in "split X---Y---Z --- 3" would be converted to a
string and Python rightfully complains:
Traceback (most recent call last):
File "pycall.py", line 27, in _anything_1
result = getattr(self.mod, func)(*args)
File "/usr/lib/python2.3/string.py", line 121, in split
return s.split(sep, maxsplit)
TypeError: an integer is required
As sometimes strings like "3" are needed as well I don't think there
is a really easy solution to automatic conversion, though.
Ciao
--
Frank Barknecht _ ______footils.org_ __goto10.org__
More information about the Pd-dev
mailing list