> Python 2.4.3 on Red Hat 5. Trying to use strip to remove characters > but it doesn't seem to work like I thought. > > > res = subprocess.Popen(['uname', '-a'], stdout=subprocess.PIPE) > uname = res.stdout.read().strip() > >>>> uname > 'Linux myserver 2.6.18-274.el5PAE #1 SMP Fri Jul 8 17:59:09 EDT 2011 > i686 i686 i386 GNU/Linux' > >>>> uname.strip(':') > 'Linux myserver 2.6.18-274.el5PAE #1 SMP Fri Jul 8 17:59:09 EDT 2011 > i686 i686 i386 GNU/Linux' > >>>> 'www.example.com'.strip('cmowz.') > 'example' > > Thoughts?
Read the documentation carefully: http://docs.python.org/library/stdtypes.html#str.strip It strips *any* of the characters in the strip() argument from either side of the string, up to the point where it can't strip a matching character anymore. Since the uname variable doesn't not start with a ':' on either side, it can't strip anything, and stops immediately, returning the resulting (full) string. You could look into split(':', maxsplit), with maxsplit not at its default value: http://docs.python.org/library/stdtypes.html#str.split Otherwise, regular experssions would be a (bit more drastic) solution. Btw, what *did* you actually expect it should do? That would give us a better hint into the result you want. Good luck, Evert > > Leam > -- > Mind on a Mission <http://leamhall.blogspot.com/> > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor