¡¶Python³ÌÐòÉè¼Æ¡·Ï°ÌâÓë´ð°¸-python½Ì²Ä´ð°¸

µÚ12Õ Windowsϵͳ±à³Ì

12.1 ²éÔÄÏà¹Ø×ÊÁÏ£¬½âÊÍ×¢²á±í¼¸´ó¸ù¼üµÄÓÃ;¡£ ´ð£ºÂÔ

12.2 Ñ¡ÔñÒ»¸ö±àдºÃµÄPython³ÌÐò£¬½«Æäת»»Îªexe¿ÉÖ´ÐÐÎļþ¡£ ´ð£ºÂÔ£¬Çë²Î¿¼ÊéÖÐÏà¹Ø½éÉÜ¡£

12.3 ±àд´úÂ룬ʹÓÃÖÁÉÙ3Öв»Í¬µÄ·½·¨Æô¶¯Windows×Ô´øµÄ¼ÆËãÆ÷³ÌÐò¡£ ´ð£º µÚÒ»ÖÖ·½·¨£º >>> import os

>>> os.system('calc.exe')

µÚ¶þÖÖ·½·¨£º >>> import os

>>> os.popen('calc.exe')

µÚÈýÖÖ·½·¨£º >>> import os

>>> os.startfile('calc.exe')

µÚËÄÖÖ·½·¨£º

>>> import win32api

>>> win32api.ShellExecute(0, 'open', 'calc.exe', '', '', 1)

µÚÎåÖÖ·½·¨£º

>>> import win32process >>> handle=win32process.CreateProcess(r'c:\\windows\\system32\\calc.exe','', None,None,0, win32process.CREATE_NO_WINDOW, None, None,win32process.STARTUPINFO())

12.4 ±àд´úÂ룬¼ì²âÄúËùʹÓõIJÙ×÷ϵͳ°æ±¾¡£ ´ð£ºÂÔ£¬Çë²Î¿¼12.5½Ú¡£

µÚ13Õ ¶àÏ̱߳à³Ì

13.1 ¼òµ¥ÐðÊö´´½¨Ï̵߳ķ½·¨¡£ ´ð£º

ThreadÀàÖ§³ÖʹÓÃÁ½ÖÖ·½·¨À´´´½¨Ị̈߳¬Ò»ÖÖÊÇΪ¹¹Ô캯Êý´«µÝÒ»¸ö¿Éµ÷ÓöÔÏó£¬ÁíÒ»ÖÖÊǼ̳ÐThreadÀಢÔÚÅÉÉúÀàÖÐÖØÐ´__init__()ºÍrun()·½·¨¡£´´½¨ÁËÏ̶߳ÔÏóÒԺ󣬿ÉÒÔµ÷ÓÃÆästart()·½·¨À´Æô¶¯£¬¸Ã·½·¨×Ô¶¯µ÷ÓøÃÀà¶ÔÏóµÄrun()·½·¨£¬´Ëʱ¸ÃÏ̴߳¦ÓÚalive״̬£¬Ö±ÖÁÏ̵߳Ärun()·½·¨ÔËÐнáÊø¡£

13.2 ¼òµ¥ÐðÊöThread¶ÔÏóµÄ·½·¨¡£ ´ð£º

£¨1£©join([timeout]£º×èÈûµ±Ç°Ị̈߳¬µÈ´ý±»µ÷Ï߳̽áÊø»ò³¬Ê±ºóÔÙ¼ÌÐøÖ´Ðе±Ç°Ï̵߳ĺóÐø´úÂ룬²ÎÊýtimeoutÓÃÀ´Ö¸¶¨×µÈ´ýʱ¼ä£¬µ¥Î»ÎªÃë¡£

£¨2£©isAlive()£º²âÊÔÏß³ÌÊÇ·ñ´¦ÓÚÔËÐÐ״̬

£¨3£©start()£º×Ô¶¯µ÷ÓÃrun()·½·¨£¬Æô¶¯Ị̈߳¬Ö´ÐÐÏ̴߳úÂë¡£

£¨4£©run()£ºÏ̴߳úÂ룬ÓÃÀ´ÊµÏÖÏ̵߳ŦÄÜÓëÒµÎñÂß¼­£¬¿ÉÒÔÔÚ×ÓÀàÖÐÖØÐ´¸Ã·½·¨À´×Ô¶¨ÒåÏ̵߳ÄÐÐΪ¡£

13.3 ¼òµ¥ÐðÊöÏ̶߳ÔÏóµÄdaemonÊôÐÔµÄ×÷ÓúÍÓ°Ïì¡£ ´ð£º

Ôڽű¾ÔËÐйý³ÌÖÐÓÐÒ»¸öÖ÷Ị̈߳¬ÈôÔÚÖ÷Ïß³ÌÖд´½¨ÁË×ÓỊ̈߳¬µ±Ö÷Ï߳̽áÊøÊ±¸ù¾Ý×ÓÏß³ÌdaemonÊôÐÔÖµµÄ²»Í¬¿ÉÄܻᷢÉúÏÂÃæµÄÁ½ÖÖÇé¿öÖ®Ò»£º1£©µ±Ä³×ÓÏ̵߳ÄdaemonÊôÐÔΪFalseʱ£¬Ö÷Ï߳̽áÊøÊ±»á¼ì²â¸Ã×ÓÏß³ÌÊÇ·ñ½áÊø£¬Èç¹û¸Ã×ÓÏß³ÌÉÐδÍê³É£¬ÔòÖ÷Ï̻߳áµÈ´ýËüÍê³ÉºóÔÙÍ˳ö£»2£©µ±Ä³×ÓÏ̵߳ÄdaemonÊôÐÔΪTrueʱ£¬Ö÷Ïß³ÌÔËÐнáÊøÊ±²»¶Ô¸Ã×ÓÏ߳̽øÐмì²é¶øÖ±½ÓÍ˳ö£¬Í¬Ê±ËùÓÐdaemonֵΪTrueµÄ×ÓÏ߳̽«ËæÖ÷Ïß³ÌÒ»Æð½áÊø£¬¶ø²»ÂÛÊÇ·ñÔËÐÐÍê³É¡£daemonÊôÐÔµÄֵĬÈÏΪFalse£¬Èç¹ûÐèÒªÐ޸ģ¬Ôò±ØÐëÔÚµ÷ÓÃstart()·½·¨Æô¶¯Ïß³Ì֮ǰ½øÐÐÐ޸ġ£

13.4 ½âÊÍÖÁÉÙ3ÖÖÏß³Ìͬ²½·½·¨¡£ ´ð£º

£¨1£©Ê¹ÓÃCondition¶ÔÏó¿ÉÒÔÔÚijЩʼþ´¥·¢ºó²Å´¦ÀíÊý¾Ý£¬¿ÉÒÔÓÃÓÚ²»Í¬Ïß³ÌÖ®¼äµÄͨÐÅ»ò֪ͨ£¬ÒÔʵÏÖ¸ü¸ß¼¶±ðµÄͬ²½¡£Condition¶ÔÏó³ýÁ˾ßÓÐacquire()ºÍrelease()·½·¨Ö®Í⣬

»¹ÓÐwait()¡¢notify()¡¢notify_all()µÈ·½·¨¡£ÏÂÃæÍ¨¹ý¾­µäÉú²úÕß/Ïû·ÑÕßÎÊÌâÀ´ÑÝʾCondition¶ÔÏóµÄÓ÷¨¡£

£¨2£©QueueÄ£¿é£¨ÔÚPython 3ÖÐΪqueueÄ£¿é£©ÊµÏÖÁ˶àÉú²úÕß/¶àÏû·ÑÕß¶ÓÁУ¬ÓÈÆäÊʺÏÐèÒªÔÚ¶à¸öÏß³ÌÖ®¼ä½øÐÐÐÅÏ¢½»»»µÄ³¡ºÏ£¬¸ÃÄ£¿éµÄQueue¶ÔÏóʵÏÖÁ˶àÏ̱߳à³ÌËùÐèÒªµÄËùÓÐËøÓïÒå¡£

£¨3£©Event¶ÔÏóÊÇÒ»ÖÖ¼òµ¥µÄÏß³ÌͨÐż¼Êõ£¬Ò»¸öÏß³ÌÉèÖÃEvent¶ÔÏó£¬ÁíÒ»¸öÏ̵߳ȴýEvent¶ÔÏó¡£Event¶ÔÏóµÄset()·½·¨¿ÉÒÔÉèÖÃEvent¶ÔÏóÄÚ²¿µÄÐźűêÖ¾ÎªÕæ£»clear()·½·¨¿ÉÒÔÇå³ýEvent¶ÔÏóÄÚ²¿µÄÐźűêÖ¾£¬½«ÆäÉèÖÃΪ¼Ù£»isSet()·½·¨ÓÃÀ´ÅÐ¶ÏÆäÄÚ²¿ÐźűêÖ¾µÄ״̬£»wait()·½·¨Ö»ÓÐÔÚÆäÄÚ²¿ÐźÅ×´Ì¬ÎªÕæÊ±½«ºÜ¿ìµØÖ´Ðв¢·µ»Ø£¬ÈôEvent¶ÔÏóµÄÄÚ²¿Ðźűê־Ϊ¼Ù£¬wait()·½·¨½«Ò»Ö±µÈ´ýÖÁ³¬Ê±»òÄÚ²¿ÐźÅ×´Ì¬ÎªÕæ¡£

µÚ14Õ Êý¾Ý¿â±à³Ì

14.1 ¼òµ¥½éÉÜSQLiteÊý¾Ý¿â¡£ ´ð£º

SQLiteÊÇÄÚǶÔÚPythonÖеÄÇáÁ¿¼¶¡¢»ùÓÚ´ÅÅÌÎļþµÄÊý¾Ý¿â¹ÜÀíϵͳ£¬²»ÐèÒª·þÎñÆ÷½ø³Ì£¬Ö§³ÖʹÓÃSQLÓï¾äÀ´·ÃÎÊÊý¾Ý¿â¡£¸ÃÊý¾Ý¿âʹÓÃCÓïÑÔ¿ª·¢£¬Ö§³Ö´ó¶àÊýSQL91±ê×¼£¬Ö§³ÖÔ­×ӵġ¢Ò»Öµġ¢¶ÀÁ¢µÄºÍ³Ö¾ÃµÄÊÂÎñ£¬²»Ö§³ÖÍâ¼üÏÞÖÆ£»Í¨¹ýÊý¾Ý¿â¼¶µÄ¶ÀÕ¼ÐԺ͹²ÏíËø¶¨À´ÊµÏÖ¶ÀÁ¢ÊÂÎñ£¬µ±¶à¸öÏß³Ìͬʱ·ÃÎÊͬһ¸öÊý¾Ý¿â²¢ÊÔͼдÈëÊý¾Ýʱ£¬Ã¿Ò»Ê±¿ÌÖ»ÓÐÒ»¸öÏ߳̿ÉÒÔдÈëÊý¾Ý¡£SQLiteÖ§³Ö2TB´óСµÄµ¥¸öÊý¾Ý¿â£¬Ã¿¸öÊý¾Ý¿âÍêÈ«´æ´¢ÔÚµ¥¸ö´ÅÅÌÎļþÖУ¬ÒÔB+Ê÷Êý¾Ý½á¹¹µÄÐÎʽ´æ´¢£¬Ò»¸öÊý¾Ý¿â¾ÍÊÇÒ»¸öÎļþ£¬Í¨¹ý¼òµ¥¸´ÖƼ´¿ÉʵÏÖÊý¾Ý¿âµÄ±¸·Ý¡£

14.2 ʹÓÃPythonÄÚÖú¯Êýdir()²é¿´Cursor¶ÔÏóÖеķ½·¨£¬²¢Ê¹ÓÃÄÚÖú¯Êýhelp()²é¿´ÆäÓ÷¨¡£

´ð£ºÂÔ¡£

14.3 ÐðÊöʹÓÃPython²Ù×÷AccessÊý¾Ý¿âµÄ²½Öè¡£ ´ð£º

£¨1£©½¨Á¢Êý¾Ý¿âÁ¬½Ó

import win32com.client

conn = win32com.client.Dispatch(r'ADODB.Connection')

DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;' conn.Open(DSN)

£¨2£©´ò¿ª¼Ç¼¼¯

rs = win32com.client.Dispatch(r'ADODB.Recordset') rs_name = 'MyRecordset' #±íÃû rs.Open('[' + rs_name + ']', conn, 1, 3)

£¨3£©²Ù×÷¼Ç¼¼¯

rs.AddNew()

rs.Fields.Item(1).Value = 'data' rs.Update()

£¨4£©²Ù×÷Êý¾Ý

conn = win32com.client.Dispatch(r'ADODB.Connection')

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)