On Fri, Jun 25, 2010 at 9:37 PM, Randy Kao <randy...@gmail.com> wrote: > Thanks for the great and quick feedback from everyone! > That definitely clears things up. > -Randy > On Fri, Jun 25, 2010 at 5:16 PM, Steven D'Aprano <st...@pearwood.info> > wrote: >> >> On Sat, 26 Jun 2010 08:46:17 am Randy Kao wrote: >> > Hi all, >> > >> > I'm a newbie to Python (switching from Perl) and had a question about >> > the best way to run external commands in Python. >> [...] >> > through: os.popen, os.popen2, os.popen3, os.system, >> > commands.getoutput() >> >> >> os.system is the oldest way, and it's pretty much obsolete. Only use it >> for quick-and-dirty scripts when you're too lazy to do the right thing >> and don't care who knows it. It doesn't capture either stdin or stdout, >> only the return value. >> >> os.popen, popen2 and popen3 are probably closer to what you're used to >> in Perl. They basically differ in how many file handles they return: >> >> popen returns the external command's stdout as a file handle. >> popen2 returns (stdin, stdout) >> popen3 returns (stdin, stdout, stderr) >> >> The commands module is meant as an easier to use front end to the popen* >> functions, for times where popen* are too much and system is too >> little. If all you want is the output (stdout + stderr) of an external >> command: >> >> import commands >> output = commands.getoutput('ls -l foo*') >> >> will do the trick. >> >> >> -- >> Steven D'Aprano >> _______________________________________________ >> Tutor maillist - tu...@python.org >> To unsubscribe or change subscription options: >> http://mail.python.org/mailman/listinfo/tutor > > > _______________________________________________ > Tutor maillist - tu...@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > >
And I was like...me too. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor