我使用python的threding模块创建了一个简单的多线程tcp服务器.每次连接新客户端时,此服务器都会创建一个新线程.
#!/usr/bin/env python
import socket, threading
class ClientThread(threading.Thread):
def __init__(self,ip,port):
threading.Thread.__init__(self)
self.ip = ip
self.port = port
print "[+] New thread started for "+ip+":"+str(port)
def run(self):
print "Connection from : "+ip+":"+str(port)
clientsock.send("\nWelcome to the server\n\n")
data = "dummydata"
while len(data):
data = clientsock.recv(2048)
print "Client sent : "+data
clientsock.send("You sent me : "+data)
print "Client disconnected..."
host = "0.0.0.0"
port = 9999
tcpsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
tcpsock.bind((host,port))
threads = []
while True:
tcpsock.listen(4)
print "\nListening for incoming …Run Code Online (Sandbox Code Playgroud) 我正在使用Python编写一个简单的键盘记录器.我希望使用pyHook来捕获键盘事件.我找不到任何已安装python 3.3的pyHook包.是否有任何其他模块的python 3.3提供类似的功能?
在我的应用程序的搜索功能中,我实现了一个搜索功能,该功能对数据库执行以下语句。
resultsquery = db.DBMovies.Where(m => (m.Actors.ToLower()).Contains(q.ToLower()))
Run Code Online (Sandbox Code Playgroud)
在部分中,q.ToLower()我读取了 url 参数q并将其转换为小写并在相关的数据库列中找到它。在我的数据库中,“Actors”列的类型是“text”而不是 varchar。当我运行我的应用程序时,我收到一个名为Argument data type text is invalid for argument 1 of lower function. 有什么办法可以避免这种异常吗?我更喜欢一种可以在一行中解决它的方法。
谢谢你。