PythonÖÐÓÐËÄÖÖÄÚ½¨µÄÊý¾Ý½á¹¹£ºList£¬Tuple£¬Dictionary£¬Set¡£±¾ÎÄÖ÷Òª½éÉÜList¡£
ListÊÇÓÃÀ´´æ·ÅÒ»×é¶ÔÏóÐòÁС£¿ÉÒÔÏñlistÖÐÌí¼ÓÔªËØ¡¢É¾³ýÔªËØ£¬Í¬Ê±Ò²¿ÉÒÔÏñ·ÃÎÊÊý×éÒ»Ñù·ÃÎÊlist¡£ListÊǿɱäµÄÊý¾ÝÀàÐÍ¡£
ÏÂÃ棬¸ø³öÒ»×élistµÄʹÓÃʵÀý£º
shoplist = ['rice','apple','banana','mango']
print('I hava ',len(shoplist),' items to purchase')
print('These items are:',end=' ')
for item in shoplist:
print(item,end=' ')
print('\nI also have to buy carrot')
shoplist.append('carrot')
print('My shoplist now is: ',shoplist)
shoplist.sort()
print('My shoplist after sorted is: ',shoplist)
del shoplist[1]
print('My shoplist after del is: ',shoplist)
shoplist.reverse()
print('My shoplist after reversed is: ',shoplist)
shoplist.remove('rice')
print('My shoplist after remove is: ',shoplist)
Ê×ÏÈ£¬¿ÉÒÔʹÓÓ[]”À´´´½¨Ò»¸ölist£¬²¢¿ÉÒÔÖ±½Ó¶ÔÆä½øÐгõʼ»¯£»¿ÉÒÔÊ ......
#! /usr/bin/env python
# -*- coding: utf-8 -*-
from ftplib import FTP
from os import path
from optparse import OptionParser
from FtpDownload import spilt_cmd
import socket
import sys
'''
ÉÏ´«ÖÕ¶ËMRÎļþµ½·þÎñÆ÷
V1.0 zhai 2009-07-27
'''
def main():
#example ='-u oracle -w oracle -a 10.62.100.232 -p 21 -s ProjData -l c:\\tt.txt'
#»ñÈ¡²ÎÊý
#example = sys.argv[1]
#ÃüÁîÐвÎÊýÓÃ''¸ô¿ª
#cmds = spilt_cmd(example)
cmds =['-u', 'oracle', '-w', 'oracle', '-a', '10.62.100.232', '-p', '21', '-s', 'ProjData', '-l', 'c:\\tt.txt']
print cmds
parser = OptionParser()
parser.add_option( '-u', '--user', action='store', type='string', dest='user' )
parser.add_option( '-w', '--password', action='store', type='string', dest='password' )
parser.ad ......
ÕâÊÇÎÒÒÔǰдµÄÒ»¸ösocketСӦÓã¬ÆäÖÐҲ˳±ãÓõ½ÁËÒ»µãµã¶àÏ̵߳Ķ«Î÷¡£
Õâ¸ösocket¿Í»§¶ËÊÇÎÒΪÁË·½±ã¹«Ë¾µÄ³äֵϵͳµ÷ÊÔ¶øдµÄÒ»¸öСӦÓá£ÓÉËü¸ú³äֵϵͳ½øÐÐsocketͨѶ£¬×Ô¶¯Íê³É³äÖµµÄ²âÊÔ¹¤×÷¡£
¿´´úÂë°É£º
import socket,thread
def Communicate(s):
phoneno = raw_input("Please input your PhoneNo.:(Push Enter to use default)") #Get local phoneno
if (len(phoneno)) == 0:
phoneno= '123456'
phoneno="phone:"+phoneno #Add a prefix of phoneno
s.send(phoneno) #Send data string to server
print '>> %s'%phoneno
data = s.recv(4096) #Get response data from server
print '> %s'%process_string
print '> %s'%'6506'
print ' ......
2007-07-15
pythonÖеĶàỊ̈߳¨2£©
¹Ø¼ü×Ö: python thread threading
ÎÒÃÇÔÚÉÏÒ»ÕÂÖп´µ½Ê¹ÓÃthreading.Thread.join()¿ÉÒÔ±ÜÃâÖ÷³ÌÐòÔڵȴýÆäËüÏ߳̽áÊøµÄ¹ý³ÌÖеõ½Ê±¼äƬ¡£ÊÂʵÉÏ£¬ÔÚÏ̱߳à³ÌÖо³£»áÓöµ½Ò»¸öÏß³ÌÐèÒªµÈ´ýÁíÒ»¸öÏß³ÌÖеÄÇé¿ö¡£ÔÚÕâÖÖÇé¿öÏ£¬ÐèÒªÖØÉêµÄÊÇ£¬ÎÒÃDz»Ï£ÍûµÈ´ýµÄÏ̻߳ñµÃʱ¼äƬ¡£
½â¾öµÄ°ì·¨ÊÇʹÓÃÌõ¼þ±äÁ¿£¬¾ÍÏñËüµÄÃû³Æ£¬´úÂëʹÓÃËüÃÇÀ´µÈ´ýһЩÌõ¼þµÄ³ÉÁ¢¡£´ó¶àÊýÏß³Ìϵͳ¶¼Ö§³ÖÌõ¼þ±äÁ¿£¬pythonµÄthreading°üÒ²²»ÀýÍâ¡£
ÀýÈ磬pthreads°ü£¬Ê¹ÓÃpthread_condÀ´´ú±íÕâÖÖ±äÁ¿£¬²¢ÇÒÓк¯Êýpthread_cond_wait()£¬Ëü´ú±íÒ»¸öÏ̵߳÷ÓõȴýÒ»¸öʼþµÄ·¢Éú£»ÁíÒ»¸öº¯Êý,pthread_cond_signal()£¬ÁíÒ»¸öÏ̵߳÷Ó㬴ú±íÉùÃ÷µÈ´ýµÄÏß³ÌʼþÒѾ·¢Éú¡£
pythonÖеÄÌõ¼þ±äÁ¿½ÏÖ®CÓïÑÔÖеÄÀ´Ëµ¸üÈÝÒ×ʹÓ㬶ÔÓÚµÚÒ»²ã´ÎµÄÌõ¼þ±äÁ¿À´Ëµ£¬¿ÉÒÔʹÓÃÀàthreading.Condition,ËüÄܹ»ÔÚ´ó¶àÊýµÄÏß³ÌϵͳÖÐÁ¼ºÃµÄ¹¤×÷£¬µ«ÊÇʹÓÃÕâÖÖÌõ¼þ±äÁ¿ÐèÒª½øÐжîÍâµÄ½âËøºÍ±ÕËø²Ù×÷¡£
pythonÌṩÁËÒ»ÖÖ¸ü¸ß²ã´ÎµÄÀ࣬threading.Event,ËüÊǶÔÓÚthreading.ConditionµÄÒ ......
ÎÒÃÇÔÚ×öÈí¼þ¿ª·¢µÄʱºòºÜ¶àÒªÓõ½¶àÏ̼߳¼Êõ¡£ÀýÈçÈç¹û×öÒ»¸öÏÂÔØÈí¼þÏóflashget¾ÍÒªÓõ½¡¢ÏóÔÚÏßÊÓƵ¹¤¾ßrealplayerÒ²ÒªÓõ½ÒòΪҪͬʱÏÂÔØmedia stream»¹Òª²¥·Å¡£ÆäʵÀý×ÓÊǺܶàµÄ¡£
Ïß³ÌÏà¶Ô½ø³ÌÀ´ËµÊÇ“ÇáÁ¿¼¶”µÄ£¬²Ù×÷ϵͳÓýÏÉÙµÄ×ÊÔ´´´½¨ºÍ¹ÜÀíÏ̡߳£³ÌÐòÖеÄÏß³ÌÔÚÏàͬµÄÄÚ´æ¿Õ¼äÖÐÖ´ÐУ¬²¢¹²ÏíÐí¶àÏàͬµÄ×ÊÔ´¡£
ÔÚpythonÖÐÈçºÎ´´½¨Ò»¸öÏ̶߳ÔÏó
Èç¹ûÄãÒª´´½¨Ò»¸öÏ̶߳ÔÏ󣬺ܼòµ¥£¬Ö»ÒªÄãµÄÀà¼Ì³Ðthreading.Thread£¬È»ºóÔÚ__init__ÀïÊ×Ïȵ÷ÓÃthreading.ThreadµÄ__init__·½·¨¼´¿É
import threading
class mythread(threading.Thread):
def __init__(self, threadname):
threading.Thread.__init__(self, name = threadname)
....
Õâ²Å½ö½öÊǸö¿ÕỊ̈߳¬Îҿɲ»ÊÇÒªËûÀ¿Õ³µµÄ£¬Ëû¿ÉµÃ¸øÎҸɵãʵÔڻºÜ¼òµ¥£¬ÖØдÀàµÄrun()·½·¨¼´¿É£¬°ÑÄãÒªÔÚÏß³ÌÖ´ÐÐʱ×öµÄÊÂÇ鶼·Åµ½ÀïÃæ
import threading
import time
class mythread(threading.Thread):
def __init__(...):
....
def run(self):
for i in range(10):
print self.getName, i
time.sleep(1)
ÒÔÉÏ´úÂëÎÒÃÇÈÃÕâ¸öÏß³ÌÔÚÖ´ÐÐÖ®ºóÿ¸ô1ÃëÊä³öÒ»´ÎÐÅÏ¢µ½ÆÁÄ»£¬10´Îºó½áÊø
getName()ÊÇthre ......
¶à¸öÖ´ÐÐÏ߳̾³£Òª¹²ÏíÊý¾Ý£¬Èç¹û½ö½ö¶ÁÈ¡¹²ÏíÊý¾Ý»¹ºÃ£¬µ«ÊÇÈç¹û¶à¸öÏß³ÌÒªÐ޸Ĺ²ÏíÊý¾ÝµÄ»°¾Í¿ÉÄܳöÏÖÎÞ·¨Ô¤ÁϵĽá¹û¡£
¼ÙÈçÁ½¸öÏ̶߳ÔÏót1ºÍt2¶¼Òª¶ÔÊýÖµnum=0½øÐÐÔö1ÔËË㣬ÄÇôt1ºÍt2¶¼¸÷¶ÔnumÐÞ¸Ä10´ÎµÄ»°£¬ÄÇônum×îÖյĽá¹ûÓ¦¸ÃΪ20¡£µ«ÊÇÈç¹ûµ±t1È¡µÃnumµÄֵʱ£¨¼ÙÈç´ËʱnumΪ0£©£¬ÏµÍ³°Ñt1µ÷¶ÈΪ“sleeping”״̬£¬¶ø´Ëʱt2ת»»Îª“running”״̬£¬´Ëʱt2»ñµÃµÄnumµÄֵҲΪ0£¬È»ºóËû°Ñnum+1µÄÖµ1¸³¸ønum¡£ÏµÍ³ÓÖ°Ñt2ת»¯Îª“sleeping”״̬£¬t1Ϊ“running”״̬£¬ÓÉÓÚt1ÒѾµÃµ½numֵΪ0£¬ËùÒÔËûÒ²°Ñnum+1µÄÖµ¸³¸øÁËnumΪ1¡£±¾À´ÊÇ2´ÎÔö1ÔËÐУ¬½á¹ûÈ´ÊÇnumÖ»ÔöÁË1´Î¡£ÀàËÆÕâÑùµÄÇé¿öÔÚ¶àÏß³ÌͬʱִÐеÄʱºòÊÇÓпÉÄÜ·¢ÉúµÄ¡£ËùÒÔΪÁË·ÀÖ¹ÕâÀàÇé¿öµÄ³öÏÖ¾ÍҪʹÓÃÏß³Ìͬ²½»úÖÆ¡£
×î¼òµ¥µÄͬ²½»úÖƾÍÊÇ“Ëø”
Ëø¶ÔÏóÓÃthreading.RLockÀà´´½¨
mylock = threading.RLock()
ÈçºÎʹÓÃËøÀ´Í¬²½Ïß³ÌÄØ£¿Ï߳̿ÉÒÔʹÓÃËøµÄacquire() £¨»ñµÃ£©·½·¨£¬ÕâÑùËø¾Í½øÈë“locked”״̬¡£Ã¿´ÎÖ»ÓÐÒ»¸öÏ߳̿ÉÒÔ»ñµÃ ......