bug or feature? traceback with python -x off by one line

Blake Winton bwinton at tor.dhs.org
Sun Apr 11 14:35:53 EDT 1999


On Sun, 11 Apr 1999 10:42:24 -0700, Dale Nagata <dnagata at creo.com> wrote:
>I package a lot of Python scripts as ready-to-run Windows NT batch
>files by prepending the line
>	@python -x %~f0 %* & goto :EOF

Hey, that's pretty cool looking...  But I have to wonder, why don't you
just type "filename.py"?  The associations are set up correctly by
default if I remember correctly, so if you have python installed on the
machine, you don't need the trick.  (Say, does that work on Win95/98 as
well?  There it could be very handy for some stuff we're doing at
work...)

>which means "without echoing to the console window, run Python with the

This got me started thinking about the "Hello Polyglot" program I saw a
while ago, and I wondered just what that line would do if interpreted as
a Perl program (because of the @)...  The answer is:

syntax error at temp2 line 1, near "@python -x "
Warning: Use of "-x" without parens is ambiguous at temp2 line 1.
Bareword found where operator expected at temp2 line 1, near "%~f0"
        (Missing operator before f0?)
Execution of temp2 aborted due to compilation errors.

>Any ideas on the best way to resolve this?  How, from within a script,
>can I detect that the -x option is in effect? Or do I have to go hack
>the interpreter source?

I think you'ld have to hack the source, since the traceback line numbers
are set in there, no matter what you do.

Later,
Blake.





More information about the Python-list mailing list