2013-10-21 37 views
-2

我沒有看過學習Python的完整教程,但我正在學習如何使用pygame。我知道Python的一些事情,但沒有這麼多 我現在試圖把一個背景圖像和教程說,我要使用此功能:嘗試與Python的遊戲,圖像的功能?

def load_image(filename, transparent=False): 
     try: image = pygame.image.load(filename) 
     except pygame.error, message: 
       raise SystemExit, message 
     image = image.convert() 
     if transparent: 
       color = image.get_at((0,0)) 
       image.set_colorkey(color, RLEACCEL) 
     return image 

但在我的編輯器(Pyscripter)行except pygame.error, message:有一個sintaxis錯誤我不知道爲什麼,如果我刪除它,以raise開頭的行也有sintaxis錯誤...我該怎麼辦? 在此先感謝!

+0

http://docs.python.org/2/tutorial /errors.html#handling-exceptions – zero323

+4

提示:先學習語言,稍後再學習庫。在這裏和那裏觀看一些視頻教程並不會教你任何有價值的東西。 –

+0

我知道是對的,但教程中說如果我不知道很多Python,並不重要,因爲他們會解釋它。 – RikuSoulz

回答

1

您使用的舊語法爲except。新方法使用as:除去像Python 3.x中的

except pygame.error as message: 

舊的方式見下:

>>> try: 
...  1/0 
... except ZeroDivisionError, e: 
    File "<stdin>", line 3 
    except ZeroDivisionError, e: 
         ^
SyntaxError: invalid syntax 
>>> try: 
...  1/0 
... except ZeroDivisionError as e: 
...  print(e) 
... 
division by zero 
>>> 

另外,您的語句raise是錯誤的。它應該是:

raise SystemExit(message) 

請看下圖:

>>> raise ZeroDivisionError, "NO!" 
    File "<stdin>", line 1 
    raise ZeroDivisionError, "NO!" 
        ^
SyntaxError: invalid syntax 
>>> raise ZeroDivisionError("NO!") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ZeroDivisionError: NO! 
>>> 

所以,你的最終代碼應該是這樣的:

except pygame.error as message: 
    raise SystemExit(message) 
+0

謝謝,它與'except'一起工作,但'提升SystemExit,message'現在有一個語法錯誤.....我該如何解決它,你能說我嗎?謝謝! – RikuSoulz

+0

哎呀,錯過了。看我的編輯。 – iCodez

+0

這解決了我所有的問題!非常感謝,我從這個頁面和他的用戶那裏學到很多東西!謝謝! :d – RikuSoulz