Deprecation in String.joinfields()
Benjamin Niemann
pink at odahoda.de
Mon Sep 25 10:31:41 EDT 2006
Hello,
Anoop wrote:
> I am getting the following error while trying to use deprecation
>
> Please help
>
>>>> li = ["a", "b", "mpilgrim", "z", "example"]
>>>> newname = string.joinfields (li[:-1], ".")
>>>> newname
> 'a.b.mpilgrim.z'
>>>> newname = li[:-1].joinfields(".")
> Traceback (most recent call last):
> File "<interactive input>", line 1, in ?
> AttributeError: 'list' object has no attribute 'joinfields'
>
>>>> newname1 = string.join (li[:-1], ".")
>>>> newname1
> 'a.b.mpilgrim.z'
>>>> newname = li[:-1].joinfields(".")
> Traceback (most recent call last):
> File "<interactive input>", line 1, in ?
> AttributeError: 'list' object has no attribute 'join'
>
> Thank you for your help
joinfields is just an alias for join and only the latter is a method of the
string class (which should be used instead of the deprecated string.join
function), which means that the string "." has a method join which takes
the list as an argument.
So what you want should be written as:
newname = ".".join(li[:-1])
HTH
--
Benjamin Niemann
Email: pink at odahoda dot de
WWW: http://pink.odahoda.de/
More information about the Python-list
mailing list