[BangPypers] help me to fix this error

Sidharth Kuruvila sidharth.kuruvila at gmail.com
Tue Oct 20 12:08:43 CEST 2009


Hi,
  Blargh! Boy! Read the mails! That code you wrote runs fine on 2.6.
But won't run on 3.0.

This should work.

intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab,outtab) #Watch this line!
st = "this is string example....wow!!!";
print(st.translate(trantab))

Basically they've moved maketrans from string to str.

Regards,
 Sidharth

On Tue, Oct 20, 2009 at 3:11 PM, Senthil Kumar M <msenthil008 at gmail.com> wrote:
> from string import maketrans
> intab = "aeiou"
> outtab = "12345"
> trantab = maketrans(intab,outtab)
> st = "this is string example....wow!!!";
> print(st.translate(trantab))
> ------------------------------------------------------
> I got this error,
> Traceback (most recent call last):
>   File "C:\Python30\fullpath.py", line 4, in <module>
>     trantab = maketrans(intab,outtab)
>   File "C:\Python30\lib\string.py", line 55, in maketrans
>     raise TypeError("maketrans arguments must be bytes objects")
> TypeError: maketrans arguments must be bytes objects
>
>
>
> On Tue, Oct 20, 2009 at 2:59 PM, Anand Balachandran Pillai
> <abpillai at gmail.com> wrote:
>>
>>
>> On Tue, Oct 20, 2009 at 2:40 PM, Senthil Kumar M <msenthil008 at gmail.com>
>> wrote:
>>>
>>> ----------------------------------------------------------
>>> #!/usr/bin/python
>>> from string import maketrans
>>> intab = "aeiou"
>>> outtab = "12345"
>>> trantab = intab.maketrans(outtab)
>>> str = "this is string example....wow!!!";
>>> print str.translate(trantab);
>>
>>  "print" is a function from python 3.0. Change this to,
>>  print (str.translate(trantab))
>>
>>  And you don't need semi-colons in Python. Semi-colons
>>  are used only to separate 2 expressions in the same line.
>>  Something like
>>
>>  x=2; print x
>>
>>  Here they are superfluous.
>>
>>  And I think "outtab" should be a dict, not string... but I am not sure.
>>
>>>
>>> ------------------------------------------------------------
>>> Thanks for the response.
>>> I changed the code as above
>>> this code too shows an error.
>>>
>>> On Tue, Oct 20, 2009 at 2:23 PM, Sidharth Kuruvila
>>> <sidharth.kuruvila at gmail.com> wrote:
>>>>
>>>> Hi,
>>>> This looks like it's because python's strings have change in python 3.
>>>> The characters used to be 8bit bytes but now they are 16 bits wide.
>>>>
>>>> A quick google tells me that str now has a method called maketrans so
>>>> s1.maketrans(s2) should work.
>>>>
>>>> I'm guessing you are using a tutorial written for one of the older
>>>> versions of python. I'd suggest you either find a python 3 based
>>>> tutorial or use an older version of python, maybe python 2.6.
>>>>
>>>> ps Can you cut and paste the code into the mail next time, images are
>>>> a pain to work with.
>>>>
>>>> Regards,
>>>> Sidharth
>>>>
>>>> On Tue, Oct 20, 2009 at 1:52 PM, Senthil Kumar M <msenthil008 at gmail.com>
>>>> wrote:
>>>> >
>>>> > I am using python IDLE (python3.0.1) . I dont know why this error
>>>> > comes ? I
>>>> > am a new user to python.
>>>> >
>>>> > the link of the image snapshot is
>>>> > http://img197.imageshack.us/img197/3405/pythonshell.png
>>>> >
>>>> > --
>>>> > ********************
>>>> > M.Senthil Kumar
>>>> > ********************
>>>> >
>>>> > _______________________________________________
>>>> > BangPypers mailing list
>>>> > BangPypers at python.org
>>>> > http://mail.python.org/mailman/listinfo/bangpypers
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> I am but a man.
>>>> _______________________________________________
>>>> BangPypers mailing list
>>>> BangPypers at python.org
>>>> http://mail.python.org/mailman/listinfo/bangpypers
>>>
>>>
>>>
>>> --
>>> ********************
>>> M.Senthil Kumar
>>> ********************
>>>
>>> _______________________________________________
>>> BangPypers mailing list
>>> BangPypers at python.org
>>> http://mail.python.org/mailman/listinfo/bangpypers
>>>
>>
>>
>>
>> --
>> --Anand
>>
>>
>>
>>
>> _______________________________________________
>> BangPypers mailing list
>> BangPypers at python.org
>> http://mail.python.org/mailman/listinfo/bangpypers
>>
>
>
>
> --
> ********************
> M.Senthil Kumar
> ********************
>
> _______________________________________________
> BangPypers mailing list
> BangPypers at python.org
> http://mail.python.org/mailman/listinfo/bangpypers
>
>



-- 
I am but a man.


More information about the BangPypers mailing list