With your format() call, you need a string format specifier to tell it how
to use the arguments you've supplied it..for example, in the working script
one, the format specifier is the string "{0}_JY_{1}"
If you did a straight print on this, you'd get literally "{0}_JY_{1}", but
since you're invoking format() against it, it'll go through and replace the
{0} with the first argument in format() and {1} with the 2nd argument, and
so on and so on. The { } are markers for where format() should be inserting
values. Your loop currently is calling format(t[0], t[1]) against a string
that doesn't contain any of the { }'s so it's not doing anything, and the
result is that new_fn is the same as objects
Is this more what you're after?
list = cmds.ls('*_set*')
for objects in list:
# t = cmds.ls(objects)[0].split('_')[-1]
# no need to call cmds.ls again to select anything, you've
# already got the name with the first cmds.ls('*_set*') call
t = objects.split('_')[-1]
# new_fn = objects.format( t[0], t[1] )
# apply a new prefix to the setXYZ suffix
new_fn = "aNewPrefix_{0}".format(t)
On Tuesday, October 30, 2012 7:09:07 PM UTC+8, Daz wrote:
>
> Heya
>
> I'm battling with a part of my script... I want to cmds.ls certain items
> and then remove part of their name. After that I want the resulting name to
> be used for next part of the script. The wall I hit is with .format
> string... I got an working example but somehow it makes no sense to me
> whh... anyway have a look, if any1 could push me to the right direction
> that would be great ! I should be able to pick it up after hehe :)
>
>
> Here is example of working script:
>
> fn = "LN0001_07272010_3.dat".split('_')
> new_fn = '{0}_JY_{1}'.format(fn[0], fn[1])
> print new_fn
>
> but he uses premade name...
>
> and here is my try
>
> list = cmds.ls('*_set*')
> for objects in list:
> t = cmds.ls(objects)[0].split('_')[-1]
> new_fn = objects.format( t[0], t[1] )
> print new_fn
>
> I just want to be able to remove _set and use the new name to select nodes
> and run next script...
>
> Thanks in advance! :)
>
--
view archives: http://groups.google.com/group/python_inside_maya
change your subscription settings:
http://groups.google.com/group/python_inside_maya/subscribe