Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Getting output from executed command that is not STDIN (http://www.velocityreviews.com/forums/t320704-getting-output-from-executed-command-that-is-not-stdin.html)

Sami Viitanen 08-07-2003 10:25 AM

Getting output from executed command that is not STDIN
 
Hello,

I'm using os.popen and read for reading command input to string but the
string doesn't contain the same output that running the command manually or
with os.system contains.

with os.system:
cvs server: Diffing //Project1
File //Project1/testiware.txt is new; current revision 3.13
File //Project1/what_is_version_control.txt is new; current revision 3.3
cvs server: Diffing //Project1/Dir1
File //Project1/Dir1/seltest.c is new; current revision 1.4
File //Project1/Dir1/testi.c is new; current revision 1.2

with os.popen and read:
File //Project1/testiware.txt is new; current revision 3.13
File //Project1/what_is_version_control.txt is new; current revision 3.3
File //Project1/Dir1/seltest.c is new; current revision 1.4
File //Project1/Dir1/testi.c is new; current revision 1.2

---
Script doesn't read those "cvs server: Diffing" lines
---



Fredrik Lundh 08-07-2003 12:16 PM

Re: Getting output from executed command that is not STDIN
 
Sami Viitanen wrote:

> I'm using os.popen and read for reading command input to string but the
> string doesn't contain the same output that running the command manually or
> with os.system contains.
>
> with os.system:
> cvs server: Diffing //Project1
> File //Project1/testiware.txt is new; current revision 3.13
> File //Project1/what_is_version_control.txt is new; current revision 3.3
> cvs server: Diffing //Project1/Dir1
> File //Project1/Dir1/seltest.c is new; current revision 1.4
> File //Project1/Dir1/testi.c is new; current revision 1.2
>
> with os.popen and read:
> File //Project1/testiware.txt is new; current revision 3.13
> File //Project1/what_is_version_control.txt is new; current revision 3.3
> File //Project1/Dir1/seltest.c is new; current revision 1.4
> File //Project1/Dir1/testi.c is new; current revision 1.2
>
> ---
> Script doesn't read those "cvs server: Diffing" lines
> ---


looks like the program prints some output to stderr, and some to stdout.
possible solutions:

1) if your shell supports it, add "2>&1" to the end of the command line,
to send all stderr output to stdout. random google link:
http://www.zeitfenster.de/bash/Bash-...o-HOWTO-3.html

2) use os.popen4 to get a file handle representing both streams. see:
http://www.python.org/doc/current/li...#os-newstreams

</F>

<!-- (the eff-bot guide to) the python standard library (redux):
http://effbot.org/zone/librarybook-index.htm
-->






All times are GMT. The time now is 06:25 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.