I'm learning wxPython so most of the libraries and classes are new to me.
I'm creating a Preferences dialog class but don't know the best way to make sure the OK/Cancel (or Save/Close) buttons are in the correct order for the platform. This program is intended to run both on GNOME and Windows, so I want to make sure that the buttons are in the correct order for each platform.
Does wxPython provide functionality that prevents me from doing a if platform.system() == 'Linux' kind of hack?
There's the GenericMessageDialog widget that should do the right thing depending on the platform (but I've never used it so I'm not sure it does). See the wxPython demo. 
You can also use the SizedControls addon library (it's part of wxPython). The SizedDialog class helps to create dialogs that conform to the Human Interface Guidelines of each platform. See the wxPython demo.
WxPython: Cross-Platform Way to Conform Ok/Cancel Button Order