PythonTerminal

From PyMOLWiki
Jump to navigation Jump to search

PyMOL allows the execution of python commands from the PyMOL command line. It is very useful for both debugging, and for discovering new functions.

  • Any expression that is not recognized as a PyMOL command is passed to the underlying python interpreter
  • To force a one-line expression to be executed as python, begin the line with a slash (/)
  • Use the python command to input multi-line python code

Examples

# there is no "print" command in PyMOL, so this will go to the python interpreter
print "Hello World (1)"

# same, but force it to be python
/print "Hello World (2)"

# no lets trick this system by introducing a PyMOL command named "print"
cmd.extend('print', lambda msg: sys.stdout.write("You gave me `%s`\n" % (msg)))

# see what happens
print "Hello World (3)"

# this will still go to the python interpreter
/print "Hello World (4)"