发个帖子纪念一下,欢迎大家一起讨论Python

Python/PHP/Perl 开发与设计
回复
gashero
帖子: 5
注册时间: 2006-07-03 1:15
送出感谢: 0
接收感谢: 0
联系:

发个帖子纪念一下,欢迎大家一起讨论Python

#1

帖子 gashero » 2006-08-25 21:21

偶比较喜欢Python :lol: ,以前Java也看过很多。希望大家一起讨论。
有空可以去我的博客看看(http://blog.csdn.net/gashero)。偶不习惯于转贴,贴一段自己的程序吧。作Socket服务器的。

代码: 全选

# -*- coding: gbk -*-
from socket import *
import time

localip=gethostbyname(gethostname())

def server():
   s=socket(AF_INET,SOCK_STREAM)
   s.bind((localip,5555))
   s.listen(10)
   print 'Server start'
   while True:
      try:
         print 'waiting connect...'
         c,i=s.accept()
         print 'Client (%s,%d)'%i
         data=c.recv(1000)
         while len(data)!=0:
            print data
            data=c.recv(1000)
         print 'Client closed!'
      except KeyboardInterrupt:
         print 'Keyboard Terminate'
         break
   print 'server ending'
   s.close()
   return

def main():
   server()
   return

if __name__=='__main__':
   main()
janusle
帖子: 36
注册时间: 2006-08-14 11:40
送出感谢: 0
接收感谢: 0

#2

帖子 janusle » 2006-08-26 0:17

python的确不错,我帖一段我写的访问MySQL的类库

代码: 全选

#一个可以操作MySQL数据库的类库
#作者:JanusLe(LeYan)

import MySQLdb

class db:
#构造函数,其中连接了数据库
  def __init__(self  , host , user , passwd):
     try:
        print "Open the Database"
        self.conn = MySQLdb.connect(host , user , passwd)
     except MySQLdb.OperationalError ,error:
        print "Error %d: %s" % (error[0] , error[1])

       
#关闭数据库
  def db_close(self):
      self.conn.close()
      print "close the database"


#使用数据库   
  def db_use(self , name):
    str = "use " + name
    result = self.db_execute_SQL(str)
    return result

#查询数据库
  def db_select(self , name , *arg):
    str = "SELECT * FROM "  + name + self.__str_join__(" " , arg)
    result = self.db_execute_SQL(str)
    return result


#向数据库添加数据
  def db_insert(self , name , *value ):
    str = "INSERT INTO " + name + " VALUES (" +  self.__str_join__("," , value)  + ")"
    result = self.db_execute_SQL(str)
    return result


#删除数据库中的数据
  def db_delete(self , name , ID ):
    str = "DELETE FROM " + name + " WHERE id = " + ID
    result = self.db_execute_SQL(str)
    return result

#修改数据库中的记录
  def db_update(self , name , id , *arg):
    str = "UPDATE " + name + " SET " + self.__str_join__("," , arg) + " WHERE id = " + id
    result = self.db_execute_SQL(str)
    return result

#向数据库中添加表
  def db_create_table(self , name , *arg):
    str = "CREATE TABLE " + name + "(" + self.__str_join__("," , arg) + ")"
    result = self.db_execute_SQL(str)
    return result


#删除数据库中的表   
  def db_drop_table(self , name):
    str = "DROP TABLE " + name
    result = self.db_execute_SQL(str)
    return result


#修改数据库中的表
  def db_alter_table(self , name , type , arg):
    TYPE = ("ADD" , "DROP" , "RENAME")
    if type in TYPE:
      str = "ALTER TABLE " + name + " " + type + " "  + arg
      result = self.db_execute_SQL(str)
    else:
      print "You have an error in your SQL syntax;"
      return False

    return result   
   

#察看表的结构
  def db_describe(self , name):
    str = "DESCRIBE " + name
    result = self.db_execute_SQL(str)
    return result


#执行SQL
  def db_execute_SQL(self , str):
    cursor = self.conn.cursor()
    try:
      print str
      cursor.execute(str)
      self.conn.commit()
      allRecords = cursor.fetchall()
    except MySQLdb.ProgrammingError , error:
      print "You have an error in your SQL syntax;"
      return False
    except MySQLdb.OperationalError , error:
      print "Error %d: %s" % (error[0] , error[1])
      return False

    if allRecords == ():   
      return True
    else:
      return allRecords

     
#用于连接SQL命令
  def __str_join__(self , symbol ,  arg):
    s = " "
    for i in arg:
      if s != " ":
        s += symbol
      s += i   
    return s


   
#用于测试的模块
if __name__=='__main__':
    con = db("localhost" , "root" , "XXXXX") 
    con.db_execute_SQL("CREATE DATABASE books")
    con.db_use("books")                         
    con.db_create_table("books" , "id int" , "Title  CHAR(20)" , "Author CHAR(20)")   
    con.db_insert("books" , '3' , "'dd'" , '"LeYan"')                       
    con.db_insert("books" , "4" , '"JanusLe"' , '"fff"')                         
    print con.db_select("books")                         
    con.db_delete("books" , "4")                         
    print con.db_select("books")
    con.db_update("books" , "3" , 'Author = "NoName"')         
    print con.db_select("books")                                     
    con.db_alter_table("books" , "ADD" , "tttt varchar(20)")       
    print con.db_describe("books")                                 
    con.db_alter_table("books" , "DROP" , "tttt")
    print con.db_describe("books")
    con.db_close()
[/code]
boboppie
帖子: 135
注册时间: 2007-03-18 9:37
送出感谢: 0
接收感谢: 0

#3

帖子 boboppie » 2008-06-07 20:43

good post!!! :D
zabbey
帖子: 296
注册时间: 2006-05-06 2:03
送出感谢: 0
接收感谢: 0

#4

帖子 zabbey » 2008-06-07 20:45

我最近也在学呢。
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28
送出感谢: 0
接收感谢: 0

#5

帖子 flyinflash » 2008-06-09 10:25

asdf
上次由 flyinflash 在 2009-09-14 17:18,总共编辑 1 次。
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
送出感谢: 0
接收感谢: 3 次
联系:

#6

帖子 xiooli » 2008-06-09 10:36

看python老是没感觉。
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28
送出感谢: 0
接收感谢: 0

#7

帖子 flyinflash » 2008-06-09 15:08

asdf
上次由 flyinflash 在 2009-09-14 17:17,总共编辑 1 次。
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28
送出感谢: 0
接收感谢: 0

#8

帖子 flyinflash » 2008-06-09 15:17

asdf
附件
fashion-python-kuduan-red.jpg
上次由 flyinflash 在 2009-09-14 17:18,总共编辑 1 次。
回复

回到 “Python/Php/Perl”