04 - pymel and rss and strings
If you want to use any of these examples in RSS, you should be able to just call it like this:
# the original line [ x.maxDist.set(10) for x in ls(type='phxRayShadow') ] # in RSS friendly form python = "[ x.maxDist.set(10) for x in ls(type='phxRayShadow') ]"
Something I've never been clear on is if we import pymel by default for rss. Some say we do, others say we don't. Best not to risk it, import it yourself:
# the original line with the pymel import line from pymel import * [ x.maxDist.set(10) for x in ls(type='phxRayShadow') ] # in RSS form, you can join lines together with a semi colon: python = "from pymel import *; [ x.maxDist.set(10) for x in ls(type='phxRayShadow') ]"
A tricky thing (which isn't tricky) is if you have stuff in single or double quotes. Python treats them both the same:
foo = 'this is a string' bar = "this is also a string"
but make sure they match!
foo = 'this is broken" # start of line has a single quote, end of line is a double quote
the reason python offers this is so that if you need to have a string that has one type of quote, just wrap it in the other kind of quote:
foo = "who said you can't use single quotes in strings? They're fine!" bar = 'and i can use "air quotes" here too, all good'
god forbid you need to have a string with both single and double quotes, but if you do, python's got you covered. use triple-quotes!
foo = """I can't believe I can do "this" with python!""" bar = '''works with "single quotes" and "double quotes" too.'''
Python eh? It's amazing.