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

软件和网站开发以及相关技术探讨
回复
gashero
帖子: 5
注册时间: 2006-07-03 1:15
联系:

发个帖子纪念一下,欢迎大家一起讨论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

#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

#3

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

good post!!! :D
zabbey
帖子: 296
注册时间: 2006-05-06 2:03

#4

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

我最近也在学呢。
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28

#5

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

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

#6

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

看python老是没感觉。
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28

#7

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

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

#8

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

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