By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,510 Members | 1,697 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,510 IT Pros & Developers. It's quick & easy.

Simple print to stderr

P: n/a
RC
By default the print statement sends to stdout
I want to send to stderr

Try

print "my meeage", file=sys.stderr

I got
SyntaxError: invalid syntax
I try

print "my message", sys.stderr

But it still sent to stdout.
What is the syntax?

I wouldn't understand Python's manual

print([object, ...][, sep=' '][, end='n'][, file=sys.stdout])

Print object(s) to the stream file, separated by sep and followed by end. sep, end and file, if present, must be given as keyword arguments.

All non-keyword arguments are converted to strings like str() does and written to the stream, separated by sep and followed by end. Both sep and end must be strings; they can also be None, which means to use the default values. If no object is given, print() will just write end.

The file argument must be an object with a write(string) method; if it is not present or None, sys.stdout will be used.
Oct 27 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
RC wrote:
By default the print statement sends to stdout
I want to send to stderr

Try

print "my meeage", file=sys.stderr

I got
>SyntaxError: invalid syntax

I try

print "my message", sys.stderr

But it still sent to stdout.
What is the syntax?

I wouldn't understand Python's manual
<snip quote from the manual>

That's only in Python 3 (or 2.6 with the proper __future__ import).
Before that, print is a statement. You'd do it like this:

print >sys.stderr, "whatever"

You should look at
<http://docs.python.org/reference/simple_stmts.html#the-print-statement>,
not Python 3's documentation.
--
Oct 27 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.