Comparing strings - akin to Perl's "=~"
Carsten Haese
carsten.haese at gmail.com
Tue May 6 08:55:21 EDT 2008
krumblebunk at gmail.com wrote:
> for foo in sc.query(sql).dictresult(): <- this returns a dict of the
> result
> f=dict(foo)
> for k in f.iteritems()
> if k == '^Hostname': <-- need this sort of
> behaviour - match a partial string.
> print "%s" % f[3] <-- ..and if true, need to pull
> out the 4th column on that line.
>
> This breaks spectacularly -
Several observations:
* "breaks spectacularly" is not a useful description of a failure. If
you get an exception, show us the exception. If you get an unexpected
result, show us the result and tell us how it differs from the result
you expected.
* To check whether a string starts with a given string, use the
startswith() method: if k.startswith("Hostname"): ...
* Why the "f=dict(foo)"? Isn't foo already a dictionary?
* Since f is a dictionary, presumably keyed on column names, f[3] is
unlikely to work. You're going to have to use the name of the fourth
column to pull out the value you're looking for.
HTH,
--
Carsten Haese
http://informixdb.sourceforge.net
More information about the Python-list
mailing list