µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

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

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2026/1/1 8:45:52 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

if text == 'Start':

self.buttonOK.SetLabelText('End') elif text == 'End':

self.buttonOK.SetLabelText('Start')

app = wxGUI() app.MainLoop()

9.3 Éè¼ÆÒ»¸ö´°Ì壬ģÄâQQµÇ¼½çÃæ£¬µ±Óû§ÊäÈëºÅÂë123456ºÍÃÜÂë654321ʱÌáʾÕýÈ·£¬·ñÔòÌáʾ´íÎó¡£

´ð£ºPython 2.7.8´úÂëÈçÏ£¬

import wx

class wxGUI(wx.App): def OnInit(self):

frame = wx.Frame(parent=None, title='Login', size=(250,150), pos=(350,350)) panel = wx.Panel(frame, -1)

label1 = wx.StaticText(panel, -1, 'UserName:', pos=(0,10), style=wx.ALIGN_RIGHT) label2 = wx.StaticText(panel, -1, 'Password:', pos=(0,30), style=wx.ALIGN_RIGHT)

self.textName = wx.TextCtrl(panel, -1, pos=(70,10), size=(160,20)) self.textPwd = wx.TextCtrl(panel, -1, pos=(70,30), size=(160,20),style=wx.TE_PASSWORD)

buttonOK = wx.Button(panel, -1, 'OK', pos=(30,60))

self.Bind(wx.EVT_BUTTON, self.OnButtonOK, buttonOK) buttonCancel = wx.Button(panel, -1, 'Cancel', pos=(120,60))

self.Bind(wx.EVT_BUTTON, self.OnButtonCancel, buttonCancel) buttonOK.SetDefault()

frame.Show() return True

def OnButtonOK(self, event):

usrName = self.textName.GetValue() usrPwd = self.textPwd.GetValue()

if usrName=='123456' and usrPwd=='654321': wx.MessageBox('Right') else:

wx.MessageBox('Wrong') def OnButtonCancel(self, event): pass app = wxGUI() app.MainLoop()

µÚ10ÕÂ ÍøÂç³ÌÐòÉè¼Æ

10.1 ¼òµ¥½âÊÍTCPºÍUDPЭÒéµÄÇø±ð¡£ ´ð£º

TCPЭÒéÊÇÃæÏòÁ¬½ÓµÄ¡¢¾ßÓÐÖÊÁ¿±£Ö¤µÄ¿É¿¿´«ÊäЭÒ飬µ«¿ªÏú½Ï´ó£»UDPЭÒéÊǾ¡×î´óÄÜÁ¦´«ÊäµÄÎÞÁ¬½ÓЭÒ飬¿ªÏúС£¬³£ÓÃÓÚÊÓÆµÔÚÏߵ㲥£¨Video On Demand, VOD£©Ö®ÀàµÄÓ¦Óá£TCPЭÒéºÍUDPЭÒ鲢ûÓÐÓÅÁÓÖ®·Ö£¬½ö½öÊÇÊÊÓó¡ºÏÓÐËù²»Í¬¡£

10.2 ͬѧ֮¼äºÏ×÷±àдUDPͨÐųÌÐò£¬·Ö±ð±àд·¢ËͶ˺ͽÓÊÕ¶Ë´úÂ룬·¢ËͶ˷¢ËÍÒ»¸ö×Ö·û´®¡°Hello world!¡±¡£¼ÙÉè½ÓÊÕ¶ËÔÚ¼ÆËã»úµÄ5000¶Ë¿Ú½øÐнÓÊÕ£¬²¢ÏÔʾ½ÓÊÕÄÚÈÝ¡£

´ð£ºÊ×ÏÈʹÓÃipconfig/allÃüÁî²é¿´±¾»úIPµØÖ·£¬È»ºó·Ö±ð±àдÏÂÃæµÄ´úÂ룬²¢½«ÆäÖеÄIPµØÖ·Ì滻ΪÏàÓ¦µÄIPµØÖ·¡£

½ÓÊÕ¶Ë´úÂ룺

import socket

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind((\ #¿Õ×Ö·û´®±íʾ±¾»úÈκοÉÓÃIPµØÖ· data, addr=s.recvfrom(1024) # »º³åÇø´óСΪ1024×Ö½Ú print ' received message:%s' % data #ÏÔʾ½ÓÊÕµ½µÄÄÚÈÝ s.close( )

·¢ËͶ˴úÂ룺

import socket

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.sendto(\¼ÙÉè10.20.52.248ÊǽÓÊÕ¶ËÖ÷»úµÄIPµØÖ· s.close( )

10.3 ¼òµ¥½éÉÜsocketÄ£¿éÖÐÓÃÓÚTCP±à³ÌµÄ³£Ó÷½·¨¡£

TCPÒ»°ãÓÃÓÚÒªÇó¿É¿¿Êý¾Ý´«ÊäµÄ³¡ºÏ¡£±àдTCP³ÌÐòʱ¾­³£ÐèÒªÓõ½µÄsocketÄ£¿é·½·¨Ö÷ÒªÓУº

? ? ? ? ? ?

connect(address)£ºÁ¬½ÓÔ¶³Ì¼ÆËã»ú send(bytes[,flags])£º·¢ËÍÊý¾Ý recv(bufsize[,flags])£º½ÓÊÕÊý¾Ý bind(address)£º°ó¶¨µØÖ·

listen(backlog)£º¿ªÊ¼¼àÌý£¬µÈ´ý¿Í»§¶ËÁ¬½Ó accept()£ºÏìÓ¦¿Í»§¶ËµÄÇëÇó

10.4 ±àд´úÂë¶ÁÈ¡ËѺüÍøÒ³Ê×Ò³ÄÚÈÝ¡£

´ð£º

>>> import urllib.request >>> dir(urllib.request)

>>> fp = urllib.request.urlopen('http://www.sohu.com.cn') >>> dir(fp)

>>> print(fp.read(100)) >>> fp.close()

10.5 ÔÚ×Ô¼ºµÄ»úÆ÷ÉÏÅäÖÃIISÒÔÖ§³ÖPython½Å±¾µÄÔËÐУ¬È»ºóʹÓÃPython±àд½Å±¾£¬ÔËÐкóÔÚÍøÒ³ÉÏÏÔʾ¡°Hello world!¡±¡£

´ð£ººËÐÄ´úÂëΪ

print

print 'Status: 200 OK'

print 'Content-type: text/html' print

print 'Python Sample CGI' print ''

print '

This is a header

' print '

Hello world!' print '
'

print ''

µÚ11Õ ´óÊý¾Ý´¦Àí

11.1 ¼òµ¥½éÉܳ£¼ûµÄ´óÊý¾Ý´¦Àí¿ò¼Ü¡£ ´ð£ºÖ÷ÒªÓÐÈýÖÖ£¬

? MapReduce£º·Ö²¼Ê½¼ÆËã¿ò¼Ü£¬¿ÉÒÔ½«µ¥¸ö´óÐͼÆËã×÷Òµ·ÖÅ䏸¶ą̀¼ÆËã»úÖ´ÐУ¬¿ÉÒÔÔÚ¶Ìʱ¼äÄÚÍê³É´óÁ¿¹¤×÷£¬ÓÈÆäÊʺÏÊýÖµÐÍºÍ±ê³ÆÐÍÊý¾Ý£¬µ«ÐèÒª¶ÔÐÐÒµÁìÓò¾ßÓÐÒ»¶¨Àí½âºóÖØÐ´Ëã·¨À´Íê³ÉÌØ¶¨µÄÒµÎñ´¦ÀíÒªÇó¡£MapReduceµÄÃû×ÖÓɺ¯Êýʽ±à³ÌÖг£ÓõÄmapºÍreduceÁ½¸öµ¥´Ê×é³É¡£MapReduceÔÚ´óÁ¿½Úµã×é³ÉµÄ¼¯ÈºÉÏÔËÐУ¬¹¤×÷Á÷³ÌÊÇ£ºµ¥¸ö×÷Òµ±»·Ö³ÉºÜ¶àС·Ý£¬ÊäÈëÊý¾ÝÒ²±»ÇÐÆ¬²¢·Ö·¢µ½Ã¿¸ö½Úµã£¬Ã¿¸ö½ÚµãÖ»ÔÚ±¾µØÊý¾ÝÉÏ×öÔËË㣬¶ÔÓ¦µÄÔËËã´úÂë³ÆÎªmapper£¬Õâ¸ö¹ý³Ì¼´map½×¶Î£»Ã¿¸ömapperµÄÊä³öͨ¹ýijÖÖ·½Ê½×éºÏ£¬¸ù¾ÝÐèÒª¿ÉÄÜÔÙ½øÐÐÖØÐÂÅÅÐò£¬ÅÅÐòºóµÄ½á¹ûÔÙ±»ÇзֳÉС·Ý²¢·Ö·¢µ½¸÷¸ö½Úµã½øÐÐÏÂÒ»²½´¦Àí£¬Õâ¸ö¹ý³Ì±»³ÆÎªreduce½×¶Î£¬¶ÔÓ¦µÄ´úÂë³ÆÎªreducer¡£²»Í¬ÀàÐ͵Ä×÷Òµ¿ÉÄÜÐèÒª²»Í¬ÊýÁ¿µÄreducer£¬²¢ÇÒ£¬ÔÚÈκÎʱºò£¬Ã¿¸ömapper»òreducerÖ®¼ä¶¼²»½øÐÐͨÐÅ£¬Ã¿¸ö½ÚµãÖ»¸ºÔð´¦Àí×Ô¼ºµÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚ·ÖÅäµ½±¾µØµÄÊý¾Ý¼¯ÉϽøÐÐÔËËã¡£

? Hadoop£ºHadoopÊÇMapReduce¿ò¼ÜµÄÒ»¸öÃâ·Ñ¿ªÔ´ÊµÏÖ£¬²ÉÓÃJavaÓïÑÔ±àд£¬Ö§³ÖÔÚ´óÁ¿»úÆ÷ÉÏ·Ö²¼Ê½´¦ÀíÊý¾Ý¡£³ýÁË·Ö²¼Ê½¼ÆËãÖ®Í⣬Hadoop»¹×Ô´ø·Ö²¼Ê½Îļþϵͳ£¬¿ÉÒÔÔÚÉÏÃæÔËÐжàÖÖ²»Í¬ÓïÑÔ±àдµÄ·Ö²¼Ê½³ÌÐò¡£HadoopÔÚ¿ÉÉìËõÐÔ¡¢½¡×³ÐÔ¡¢¼ÆËãÐÔÄܺͳɱ¾ÉϾßÓÐÎÞ¿ÉÌæ´úµÄÓÅÊÆ£¬ÊÂʵÉÏÒѳÉΪµ±Ç°»¥ÁªÍøÆóÒµÖ÷Á÷µÄ´óÊý¾Ý·ÖÎöƽ̨¡£

? Spark£ºSparkÊÇÒ»¸öÕë¶Ô³¬´óÊý¾Ý¼¯ºÏµÄµÍÑÓ³Ù¼¯Èº·Ö²¼Ê½¼ÆËãϵͳ£¬±ÈMapReduce¿ì40±¶×óÓÒ¡£SparkÊÇHadoopµÄÉý¼¶°æ±¾£¬¼æÈÝHadoopµÄAPI£¬Äܹ»¶ÁдHadoopµÄHDFS HBASE ˳ÐòÎļþµÈ£¬ÓëÖ®²»Í¬µÄÊǽ«½á¹û±£´æÔÚÄÚ´æÖС£ Hadoop×÷ΪµÚÒ»´ú²úƷʹÓÃÁËHDFS£¬µÚ¶þ´ú¼ÓÈëÁËCacheÀ´±£´æÖÐ¼ä¼ÆËã½á¹û£¬µÚÈý´úÔòÊÇSpark³«µ¼µÄÁ÷¼¼ÊõStreaming¡£

11.2 ÔËÐб¾ÕÂÖдúÂë²¢Àí½âMapReduce±à³Ì˼·¡£ ´ð£ºÂÔ

ËÑË÷¸ü¶à¹ØÓÚ£º ¡¶Python³ÌÐòÉè¼Æ¡·Ï°ÌâÓë´ð°¸ µÄÎĵµ
¡¶Python³ÌÐòÉè¼Æ¡·Ï°ÌâÓë´ð°¸.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c0fzq91p7oe6j6mx9r6uj_7.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top