Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #70498 > unrolled thread

Re: Strange syntax error, occurs only when script is executed directly

Started byTim Golden <mail@timgolden.me.uk>
First post2014-04-22 11:35 +0100
Last post2014-04-22 11:35 +0100
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Strange syntax error, occurs only when script is executed directly Tim Golden <mail@timgolden.me.uk> - 2014-04-22 11:35 +0100

#70498 — Re: Strange syntax error, occurs only when script is executed directly

FromTim Golden <mail@timgolden.me.uk>
Date2014-04-22 11:35 +0100
SubjectRe: Strange syntax error, occurs only when script is executed directly
Message-ID<mailman.9432.1398162948.18130.python-list@python.org>
On 22/04/2014 11:29, Antoon Pardon wrote:
> I am workin on a solaris 11 machine. The python version is 2.7.6
> path to python is /opt/local/bin/python.
> 
> These are the 15 first lines of the script:
> 
> #! /opt/local/bin/python
> 
> class vslice(object):
> 
>         def __init__(self, fun):
>                 self.fun = fun
> 
>         def __getitem__(self, inx):
>                 if not isinstance(inx, tuple):
>                         inx = inx,
>                 #if
>                 return self.fun(*inx)
>         #end __getitem__
> #end __vslice__
> 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
> Now if I execute the script by explicitly calling the interpreter
> everything works fine.
> 
> # /opt/local/bin/python /usr/local/bin/ldapwatch /opt/local/log/openldap.log | head
> Apr 21 15:12:38 conn=110982 fd=125 ACCEPT from IP=10.0.59.10:46238 (IP=10.0.128.65:389)
> Apr 21 15:12:38 conn=110982 op=0 BIND dn="uid=anonymous,ou=local,ou=people,o=global" method=128
> Apr 21 15:12:38 conn=110982 op=0 BIND dn="uid=anonymous,ou=local,ou=people,o=global" mech=SIMPLE ssf=0
> Apr 21 15:12:38 conn=110982 op=0 RESULT tag=97 err=0 text=
> Apr 21 15:12:38 conn=110982 op=1 SRCH base="ou=people,o=global" scope=2 deref=0 filter="(uid=anonymous)"
> Apr 21 15:12:38 conn=110982 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
> Apr 21 15:12:38 conn=110982 op=2 UNBIND
> Apr 21 15:12:38 conn=110982 fd=125 closed
> ====
> Apr 21 15:12:57 conn=110983 fd=125 ACCEPT from IP=10.1.28.235:39616 (IP=10.0.128.65:389)
> 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
> However if I call the script directly and want the #! line do its work I get the following error.
> 
> # /usr/local/bin/ldapwatch /opt/local/log/openldap.log | head
> /usr/local/bin/ldapwatch: line 3: syntax error near unexpected token `('
> /usr/local/bin/ldapwatch: line 3: `class vslice(object):'
> 
> I have no idea what is going on here. The persmision for /usr/local/bin/ldapwatch look fine:
> # ls -l /usr/local/bin/ldapwatch -rwxr-xr-x 1 root root 2092 Apr 22 10:05 /usr/local/bin/ldapwatch

Look for a dodgy line-feed / cr (or some other non-visible control
character) at the end of the shebang line?

TJG

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web