|
------------------------------------python mysql交互---------------------------------------
#查询:
import MySQLdb
try:
conn=MySQLdb.connect(host='10.86.10.21',user='root',passwd='mysql',db='python',port=3306)
cur=conn.cursor()
cur.execute('select * from test111')
print cur.fetchall() #取全部行
print cur.fetchmany(5) #取前5行
cur.close()
conn.close()
except MySQLdb.Error,e:
print 'MySQL Error Msg:',e
#建表:单条插入
import MySQLdb
try:
conn=MySQLdb.connect(host='10.86.10.21',user='root',passwd=
'mysql',port=3306)
cur=conn.cursor()
cur.execute('create database if not exists darren')
conn.select_db('darren')
cur.execute('create table test(id int(10),info varchar(255)
)')
value = ('1','hidarren')
print value
cur.execute('''insert into test values(%s,%s)''',value)
conn.commit()
cur.close()
conn.close()
except MySQLdb.Error,e:
print 'MySQL Error Msg:',e
#建表,插入多条数据。
import MySQLdb
try:
conn=MySQLdb.connect(host='10.86.10.21',user='root',passwd=
'mysql',port=3306)
cur=conn.cursor()
cur.execute('create database if not exists darren')
conn.select_db('darren')
cur.execute('create table test(id int(10),info varchar(255)
)')
value = ('1','hidarren')
values_list=[]
for i in range(20):
values_list.append(('1,darren'))
cur.executemany ('''insert into test values(%s,%s)''',value)
conn.commit()
cur.close()
conn.close()
except MySQLdb.Error,e:
print 'MySQL Error Msg:',e
################################################################################
################################################################################
--------------------------------python socket-------------------------------------------
###服务端:
import socket
HOST=''
PORT=50007
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((HOST,PORT))
s.listen(1)
conn,addr=s.accept()
print 'connected by',addr
while 1:
data=conn.recv(1024)
if not data:break
conn.sendall(data)
conn.close()
#end
###客户端:
import socket
host=''
port=50007
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
s.sendall('hello,world')
data=s.recv(1024)
s.close()
print 'received',repr(data)
#end
#注意:此处python脚本命名不能为socket.py,如果已经创建提示出错:AttributeError: 'module' object has no attribute 'AF_INET'
则rm -rf socket.pyc即可解决。
-------------------------------------
#客户端另一种情况:
import socket
host = '10.86.10.19'
port = 50007
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
while 1:
user_input = raw_input('msg to send::').strip()
s.sendall(user_input)
data=s.recv(1024)
#print 'received:',repr(data)
print 'received:',data
s.close()
#end
--------------------------------------
服务端:a客户端连接服务端以后如果不断,b不可以连接,b连接以后a不能连接。
import socket
host = '0.0.0.0'
port = 50007
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(1)
while 1:
conn,addr=s.accept()
while 1:
data=conn.recv(1024)
if not data:break
conn.sendall(data)
conn.close()
#end
###################python socket多线程##################
#服务端:
#!/usr/bin/env python
import SocketServer
class mysocketserver(SocketServer.BaseRequestHandler):
def handle(self):
print 'got a new conn from',self.client_address
while True:
data = self.request.recv(1024)
if not data:break
print 'recv:',data
self.request.send(data.upper()) #upper为大写
if __name__=='__main__':
h='0.0.0.0'
p=9001
s=SocketServer.ThreadingTCPServer((h,p),mysocketserver)
s.serve_forever()
#end
#客户端:
import socket
host='10.86.10.17'
port=50007
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
while True:
user_input=raw_input("pelase input you want to:").strip()
if len(user_input) == 0:continue
s.sendall(user_input)
data=s.recv(1024)
print 'received:',repr(data) #repr为格式化打印
s.close()
##################python socket ssh####################
import commands
commands.getoutput('ls') #输入命令,返回的是结果。
commands.getstatusoutput('ls') #输入命令返回结果加状态
import SocketServer
class mysocketserver(SocketServer.BaseRequestHandler):
def handle(self):
print 'got a new conn from',self.client_address
while True:
data = self.request.recv(1024)
if not data:break
print 'recv:',data
cmd_result=commands.getstatusoutput(data)
self.request.send(len(cmd_result))
self.request.sendall(cmd_result[1])
if __name__=='__main__':
h='0.0.0.0'
p=9001
s=SocketServer.ThreadingTCPServer((h,p),mysocketserver)
s.serve_forever()
|
|