import mysqlConnect
import socket
import os
from itertools import chain
# *****异常抛出*****
try:
a = 10
b = 1
print(a/b)
except ZeroDivisionError as e:
print("Error")
else:
print("success")
tableName = "stutest"
if mysqlConnect.searchTable(tableName) == 0:
mysqlConnect.createTable(tableName, stuName=30)
mysqlConnect.searchTableMessage(tableName, stuName='1')
l1 = len("a b")
print(l1)
l2 = len("a\tb")
print(l2)
l3 = len("a\nb")
print(l3)
# *****类与父类的继承*****
class people:
def __init__(self, pid, name, age, sex):
self.pid = pid
self.name = name
self.age = age
self.sex = sex
class student(people):
def __init__(self, pid, name, age, sex, stuClass, stuScore):
super().__init__(pid, name, age, sex)
self.stuClass = stuClass
self.stuScore = stuScore
def showStudentMessage(self):
s = "student\t"+self.name+"\n"+"age\t\t"+self.age+"\n"+"class\t"+self.stuClass+"\n"+"score\t"+self.stuScore+"\n"
print(s)
class teacher(people):
def __init__(self, pid, name, age, sex, tType):
super().__init__(pid, name, age, sex)
self.tType = tType
def showTeacherMessage(self):
print("teacher "+self.name+"\n"+"age\t\t"+self.age+"\n"+"type\t"+self.tType+"\n")
student1 = student("*********", "**", "**", "*", "***", "**")
print(student1.pid)
student1.showStudentMessage()
teacher1 = teacher("*********", "**", "**", "*", "***")
print(teacher1.pid)
teacher1.showTeacherMessage()
# *****文件目录与与异常抛出*****
print(os.getpid())
# 当前进程id
print(os.getppid())
# 当前进程的主进程id
print(os.getcwd())
# 当前目录(文件地址)
os.chdir("c://soft")
# 切换到 目录
print(os.getcwd())
os.makedirs("c://xxx/111")
# 目标地址下创建文件夹
try:
print(open(r'C:\Soft\xx0.txt').read())
except Exception:
print("No such file or directory")
finally:
open(r'C:\Soft\xxx.txt').close()
# 封装,抛出异常
# ***********************TCP客户端服务器通信***********************
def sendMassage():
# 服务器,发
MessageIp = input("ip:")
MessagePort = int(input("port:"))
tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpSocket.bind((MessageIp, MessagePort))
# 链接服务器
tcpSocket.listen()
tcpSocket2, tcpSocketAdd = tcpSocket.accept()
recvTcpSocket = tcpSocket2.recv(1024)
print(recvTcpSocket.decode("gbk"))
# 接受数据到服务器
Message = input("message:")
tcpSocket.send(Message.encode("gbk"))
# 发送信息到客户端
tcpSocket.close()
sendMassage()
def reciveMessage():
# 客户端,收
MessageIp = input("ip:")
MessagePort = int(input("port:"))
connectAd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connectAd.connect((MessageIp, MessagePort))
recvMessage = input()
connectAd.send(recvMessage.encode("gbk"))
connectAd.close()
reciveMessage()
# 结合 收&发
def sendReciveMessage():
try:
# MessageIp = input("ip:")
# MessagePort = int(input("port:"))
connectAd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connectAd.bind(("***.***.***.***", 1122))
# 绑定
connectAd.listen(20)
# 监听,套接字变被动
while True:
connectAd2, connectAdAdd = connectAd.accept()
# 套接字,客户端地址
while True:
recvMessage = input()
if recvMessage == "q":
connectAd2.send("server excit!".encode("gbk"))
break
else:
connectAd2.send(recvMessage.encode("gbk"))
recvConnectAd2 = connectAd2.recv(1024)
if recvConnectAd2:
print(recvConnectAd2.decode("gbk"))
else:
print("this people excit!")
break
# 只能一发一收
connectAd2.close()
if input() == "q":
break
connectAd.close()
except Exception as e:
print(e)
sendReciveMessage()
# ***********************UDP客户端服务器通信***********************
# 发
def main():
ipp = ("***.***.***.***", 8080)
udpConn = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpConn.bind(("", 8888))
# 锁定端口
udpConn.sendto(b"hah", ipp)
udpConn.close()
if __name__ == "__main__":
main()
# 收
def main():
ipp = ("***.***.***.***", 8088)
udpConn = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpConn.bind(ipp)
recvData = udpConn.recvfrom(1024)
print("Message:"+recvData[0].decode("gbk")+"\nId&Port:"+str(recvData[1]))
udpConn.close()
if __name__ == "__main__":
main()
# 发&收
def senMessage(udpSocket):
MessageIp = input("ip:")
MessagePort = int(input("port:"))
Message = input("message:")
udpSocket.sendto(Message.encode("gbk"), (MessageIp, MessagePort))
def recvMessage(udpSocket):
recvMessage = udpSocket.recvfrom(1024)
print("Message:"+recvMessage[0].decode("gbk")+"\nId&Port:"+str(recvMessage[1]))
def main():
udpSochet = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 创建套接字
udpSochet.bind(("", 7788))
# 锁定端口
print("*****请选择当前功能*****")
print("0.发送数据")
print("1.接受数据")
print("2.退出")
while True:
a = input("选择功能:")
# 发&收
if a == "0":
senMessage(udpSochet)
elif a == "1":
recvMessage(udpSochet)
else:
break
if __name__ == "__main__":
main()
# ***** *****
存一下。