break else:
print('No')
2£©Python 2.7.8´úÂë import sys import os
directory = sys.argv[1] filename = sys.argv[2] paths = os.walk(directory) for root,dirs,files in paths: if filename in files: print 'Yes' break else:
print 'No'
µÚ8Õ Òì³£´¦Àí½á¹¹Óë³ÌÐòµ÷ÊÔ
8.1 PythonÒì³£´¦Àí½á¹¹ÓÐÄļ¸ÖÖÐÎʽ£¿ ´ð£º
±È½Ï³£ÓõÄÐÎʽÓУº 1£©±ê×¼Òì³£´¦Àí½á¹¹
try: try¿é #±»¼à¿ØµÄÓï¾ä£¬¿ÉÄÜ»áÒý·¢Òì³£ except Exception[, reason]: except¿é #´¦ÀíÒì³£µÄ´úÂë
Èç¹ûÐèÒª²¶»ñËùÓÐÒ쳣ʱ£¬¿ÉÒÔʹÓÃBaseException£¬´úÂë¸ñʽÈçÏ£º try: ¡¡
except BaseException, e: except¿é #´¦ÀíËùÓдíÎó
ÉÏÃæµÄ½á¹¹¿ÉÒÔ²¶»ñËùÓÐÒì³££¬¾¡¹ÜÕâÑù×öºÜ°²È«£¬µ«ÊÇÒ»°ã²¢²»½¨ÒéÕâÑù×ö¡£¶ÔÓÚÒì³£´¦Àí½á¹¹£¬Ò»°ãµÄ½¨ÒéÊǾ¡Á¿ÏÔʽ²¶×½¿ÉÄÜ»á³öÏÖµÄÒì³£²¢ÇÒÓÐÕë¶ÔÐԵرàд´úÂë½øÐд¦Àí£¬ÒòΪÔÚʵ¼ÊÓ¦Óÿª·¢ÖУ¬ºÜÄÑʹÓÃͬһ¶Î´úÂëÈ¥´¦ÀíËùÓÐÀàÐ͵ÄÒì³£¡£µ±È»£¬ÎªÁ˱ÜÃâÒÅ©ûÓеõ½´¦ÀíµÄÒì³£¸ÉÈųÌÐòµÄÕý³£Ö´ÐУ¬ÔÚ²¶×½ÁËËùÓпÉÄÜÏëµ½µÄÒì³£Ö®ºó£¬ÄúÒ²¿ÉÒÔʹÓÃÒì³£´¦Àí½á¹¹µÄ×îºóÒ»¸öexceptÀ´²¶×½BaseException¡£
2£©ÁíÍâÒ»ÖÖ³£ÓõÄÒì³£´¦Àí½á¹¹ÊÇtry...except...else...Óï¾ä¡£
3£©ÔÚʵ¼Ê¿ª·¢ÖУ¬Í¬Ò»¶Î´úÂë¿ÉÄÜ»áÅ׳ö¶à¸öÒì³££¬ÐèÒªÕë¶Ô²»Í¬µÄÒì³£ÀàÐͽøÐÐÏàÓ¦µÄ´¦Àí¡£ÎªÁËÖ§³Ö¶à¸öÒì³£µÄ²¶×½ºÍ´¦Àí£¬PythonÌṩÁË´øÓжà¸öexceptµÄÒì³£´¦Àí½á¹¹£¬ÕâÀàËÆÓÚ¶à·ÖÖ§Ñ¡Ôñ½á¹¹£¬Ò»µ©Ä³¸öexcept²¶»ñÁËÒì³££¬ÔòºóÃæÊ£ÓàµÄexcept×Ӿ佫²»»áÔÙÖ´ÐС£Ó﷨Ϊ£º try: try¿é except Exception1: except¿é1 except Exception2: except¿é2
#±»¼à¿ØµÄÓï¾ä
#´¦ÀíÒì³£1µÄÓï¾ä #´¦ÀíÒì³£2µÄÓï¾ä
4£©½«Òª²¶»ñµÄÒ쳣дÔÚÒ»¸öÔª×éÖУ¬¿ÉÒÔʹÓÃÒ»¸öexceptÓï¾ä²¶»ñ¶à¸öÒì³££¬²¢ÇÒ¹²ÓÃͬһ¶ÎÒì³£´¦Àí´úÂ룬µ±È»£¬³ý·ÇÈ·¶¨Òª²¶»ñµÄ¶à¸öÒì³£¿ÉÒÔʹÓÃͬһ¶Î´úÂëÀ´´¦Àí£¬²¢
²»½¨ÒéÕâÑù×ö¡£
5£©×îºóÒ»ÖÖ³£ÓõÄÒì³£´¦Àí½á¹¹ÊÇtry...except...finally...½á¹¹¡£ÔڸýṹÖУ¬finally×Ó¾äÖеÄÄÚ´æÎÞÂÛÊÇ·ñ·¢ÉúÒì³£¶¼»áÖ´ÐУ¬³£ÓÃÀ´×öһЩÇåÀí¹¤×÷ÒÔÊÍ·Åtry×Ó¾äÖÐÉêÇëµÄ×ÊÔ´¡£Óï·¨ÈçÏ£º try: ¡¡ finally:
......
#ÎÞÂÛÈçºÎ¶¼»áÖ´ÐеĴúÂë
8.2 Òì³£ºÍ´íÎóÓÐÊ²Ã´Çø±ð£¿ ´ð£º
Òì³£ÊÇÖ¸ÒòΪ³ÌÐòÖ´Ðйý³ÌÖгö´í¶øÔÚÕý³£¿ØÖÆÁ÷ÒÔÍâ²ÉÈ¡µÄÐÐΪ¡£ÑϸñÀ´Ëµ£¬Óï·¨´íÎóºÍÂß¼´íÎó²»ÊôÓÚÒì³££¬µ«ÓÐЩÓï·¨´íÎóÍùÍù»áµ¼ÖÂÒì³££¬ÀýÈçÓÉÓÚ´óСдƴд´íÎó¶ø·ÃÎʲ»´æÔڵĶÔÏ󣬻òÕßÊÔͼ·ÃÎʲ»´æÔÚµÄÎļþ£¬µÈµÈ¡£
8.3 ʹÓÃpdbÄ£¿é½øÐÐPython³ÌÐòµ÷ÊÔÖ÷ÒªÓÐÄļ¸ÖÖÓ÷¨£¿ ´ð£ºÖ÷ÒªÓÐÈýÖÖ·½Ê½£¬
1£©ÔÚ½»»¥Ä£Ê½ÏÂʹÓÃpdbÄ£¿éÌṩµÄ¹¦ÄÜ¿ÉÒÔÖ±½Óµ÷ÊÔÓï¾ä¿é¡¢±í´ïʽ¡¢º¯ÊýµÈ¶àÖֽű¾¡£
2£©ÔÚ³ÌÐòÖÐǶÈë¶ÏµãÀ´ÊµÏÖµ÷ÊÔ¹¦ÄÜ
ÔÚ³ÌÐòÖÐÊ×Ïȵ¼ÈëpdbÄ£¿é£¬È»ºóʹÓÃpdb.set_trace()ÔÚÐèÒªµÄλÖÃÉèÖöϵ㡣Èç¹û³ÌÐòÖдæÔÚͨ¹ý¸Ã·½·¨µ÷ÓÃÏÔʽ²åÈëµÄ¶Ïµã£¬ÄÇôÔÚÃüÁîÌáʾ·û»·¾³ÏÂÖ´ÐиóÌÐò»òË«»÷Ö´ÐгÌÐòʱ½«×Ô¶¯´ò¿ªpdbµ÷ÊÔ»·¾³£¬¼´Ê¹¸Ã³ÌÐòµ±Ç°²»´¦ÓÚµ÷ÊÔ״̬¡£
3£©Ê¹ÓÃÃüÁîÐе÷ÊÔ³ÌÐò
ÔÚÃüÁîÐÐÌáʾ·ûÏÂÖ´ÐС°python ¨Cm pdb ½Å±¾ÎļþÃû¡±£¬ÔòÖ±½Ó½øÈëµ÷ÊÔ»·¾³£»µ±µ÷ÊÔ½áÊø»ò³ÌÐòÕý³£½áÊøÒÔºó£¬pdb½«ÖØÆô¸Ã³ÌÐò¡£
8.4 PythonÄÚ½¨Òì³£ÀàµÄ»ùÀàÊÇ BaseException ¡£ 8.5 ¶ÏÑÔÓï¾äµÄÓ﷨Ϊ assert ¡£ 8.6 PythonÉÏÏÂÎĹÜÀíÓï¾äÊÇ with ¡£
µÚ9Õ GUI±à³Ì
9.1 Éè¼ÆÒ»¸ö´°Ì壬²¢·ÅÖÃÒ»¸ö°´Å¥£¬µ¥»÷°´Å¥ºóµ¯³öÑÕÉ«¶Ô»°¿ò£¬¹Ø±ÕÑÕÉ«¶Ô»°¿òºóÌáʾѡÖеÄÑÕÉ«¡£
´ð£ºPython 2.7.8´úÂëÈçÏ£¬
import wx
class wxGUI(wx.App): def OnInit(self):
frame = wx.Frame(parent=None, title='wxGUI', size=(160,140)) panel = wx.Panel(frame, -1)
buttonOK = wx.Button(panel, -1, 'OK', pos=(0,0))
self.Bind(wx.EVT_BUTTON, self.OnButtonOK, buttonOK)
frame.Show() return True
def OnButtonOK(self, event):
colorDlg = wx.ColourDialog(None) colorDlg.ShowModal()
color = colorDlg.GetColourData().Colour wx.MessageBox(str(color))
app = wxGUI() app.MainLoop()
9.2 Éè¼ÆÒ»¸ö´°Ì壬²¢·ÅÖÃÒ»¸ö°´Å¥£¬°´Å¥Ä¬ÈÏÎı¾Îª¡°¿ªÊ¼¡±£¬µ¥»÷°´Å¥ºóÎı¾±äΪ¡°½áÊø¡±£¬Ôٴε¥»÷ºó±äΪ¡°¿ªÊ¼¡±£¬Ñ»·Çл»¡£
´ð£ºPython 2.7.8´úÂëÈçÏ£¬
import wx
class wxGUI(wx.App): def OnInit(self):
frame = wx.Frame(parent=None, title='wxGUI', size=(160,140)) panel = wx.Panel(frame, -1)
self.buttonOK = wx.Button(panel, -1, 'Start', pos=(0,0))
self.Bind(wx.EVT_BUTTON, self.OnButtonOK, self.buttonOK)
frame.Show() return True
def OnButtonOK(self, event):
text = self.buttonOK.GetLabelText()
Ïà¹ØÍÆ¼ö£º