A regular expression as follows could be used:
import re
print re.findall("'(\w+)'", "('s1', 's2', 's3', 's4')")
Giving you a list of all of the entries as follows:
['s1', 's2', 's3', 's4']
So for s2:
print re.findall("'(\w+)'", "('s1', 's2', 's3', 's4')")[1]
As another alternative, the Python csv module could be used which deals quite well with various quoting scenarios:
import csv, StringIO
text = "('s1', 's2', 's3', 's4')"
print next(csv.reader(StringIO.StringIO(text.strip("()")), skipinitialspace=True, quotechar="'"))[1]
This first converts the text into a file type object which is needed using the csv reader.
ast.literal_eval(s)[1]s1,s2, ...?