2014-04-13 14 views
5

Sto cercando di eseguire questo semplice codice Python (a.py):errore di confusione quando si tenta di eseguire lo script Python

# list test 
import time 
class List(object): 
    class Cons(object): 
    def __init__(self, x, tail): 
     self.x= x 
     self.tail=tail 
    class Nil(object): 
    def __init__(self): 
     pass 
    @classmethod 
    def cons(cls, cons): 
    return List(cons, None) 
    @classmethod 
    def nil(cls, nil): 
    return List(None, nil) 
    def __init__(self, cons, nil): 
    self.cons = cons 
    self.nil = nil 

def replicate(n, x): 
    return List.nil(List.Nil()) if n == 0 else List.cons(List.Cons(x,replicate(n-1,x))) 

t1 = time.time() 
List.cons(List.Cons(object(), List.nil(List.Nil()))) 
t2 = time.time() - t1 
print t2 

Ma non sta funzionando:

$ ./a.py 
Version: ImageMagick 6.8.8-10 Q16 x86_64 2014-04-08 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC 
Features: DPC Modules OpenMP 
Delegates: bzlib djvu ltdl png zlib 

Usage: import [options ...] [ file ] 

Image Settings: 
    -adjoin    join images into a single multi-image file 
    -border    include window border in the output image 
    -channel type  apply option to select image channels 
    -colorspace type  alternate image colorspace 
    -comment string  annotate image with comment 
    -compress type  type of pixel compression when writing the image 
    -define format:option 
         define one or more image format options 
    -density geometry horizontal and vertical density of the image 
    -depth value   image depth 
    -descend    obtain image by descending window hierarchy 
    -display server  X server to contact 
    -dispose method  layer disposal method 
    -dither method  apply error diffusion to image 
    -delay value   display the next image after pausing 
    -encipher filename convert plain pixels to cipher pixels 
    -endian type   endianness (MSB or LSB) of the image 
    -encoding type  text encoding type 
    -filter type   use this filter when resizing an image 
    -format "string"  output formatted image characteristics 
    -frame    include window manager frame 
    -gravity direction which direction to gravitate towards 
    -identify   identify the format and characteristics of the image 
    -interlace type  None, Line, Plane, or Partition 
    -interpolate method pixel color interpolation method 
    -label string  assign a label to an image 
    -limit type value Area, Disk, Map, or Memory resource limit 
    -monitor    monitor progress 
    -page geometry  size and location of an image canvas 
    -pause seconds  seconds delay between snapshots 
    -pointsize value  font point size 
    -quality value  JPEG/MIFF/PNG compression level 
    -quiet    suppress all warning messages 
    -regard-warnings  pay attention to warning messages 
    -respect-parentheses settings remain in effect until parenthesis boundary 
    -sampling-factor geometry 
         horizontal and vertical sampling factor 
    -scene value   image scene number 
    -screen    select image from root window 
    -seed value   seed a new sequence of pseudo-random numbers 
    -set property value set an image property 
    -silent    operate silently, i.e. don't ring any bells 
    -snaps value   number of screen snapshots 
    -support factor  resize support: > 1.0 is blurry, < 1.0 is sharp 
    -synchronize   synchronize image to storage device 
    -taint    declare the image as modified 
    -transparent-color color 
         transparent color 
    -treedepth value  color tree depth 
    -verbose    print detailed information about the image 
    -virtual-pixel method 
         Constant, Edge, Mirror, or Tile 
    -window id   select window with this id or name 

Image Operators: 
    -annotate geometry text 
         annotate the image with text 
    -colors value  preferred number of colors in the image 
    -crop geometry  preferred size and location of the cropped image 
    -encipher filename convert plain pixels to cipher pixels 
    -geometry geometry preferred size or location of the image 
    -help    print program options 
    -monochrome   transform image to black and white 
    -negate    replace every pixel with its complementary color 
    -repage geometry  size and location of an image canvas 
    -quantize colorspace reduce colors in this colorspace 
    -resize geometry  resize the image 
    -rotate degrees  apply Paeth rotation to the image 
    -strip    strip image of all profiles and comments 
    -thumbnail geometry create a thumbnail of the image 
    -transparent color make this color transparent within the image 
    -trim    trim image edges 
    -type type   image type 

Miscellaneous Options: 
    -debug events  display copious debugging information 
    -help    print program options 
    -list type   print a list of supported option arguments 
    -log format   format of debugging information 
    -version    print version information 

By default, 'file' is written in the MIFF image format. To 
specify a particular image format, precede the filename with an image 
format name and a colon (i.e. ps:image) or specify the image type as 
the filename suffix (i.e. image.ps). Specify 'file' as '-' for 
standard input or output. 
import: delegate library support not built-in `' (X11) @ error/import.c/ImportImageCommand/1303. 
./a.py: line 3: syntax error near unexpected token `(' 
./a.py: line 3: `class List(object):' 

Cosa c'è di sbagliato? È un problema di codifica?

risposta

14

Ti manca il pitone shebang, #!/usr/bin/env python. Aggiungi questa come prima riga per dire al sistema operativo di eseguire il tuo file come uno script python e non come uno script di shell.

In alternativa, eseguire python ./a.py

+0

"per dire al sistema operativo di eseguire Python in modo che possa eseguire lo script" tecnicamente, ma l'effetto è lo stesso. –

Problemi correlati