intermittent
-
import time
def bid(f):
def bow(*args,**kwargs):
with open('p.txt',encoding='utf-8',mode='a') as dam:
dam.write('\n'+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())+f.__name__)
vv=f(*args,**kwargs)
return vv
return bow
-
ebb=['aa','bb','cc','dd']
apt=dict()
while True:
for index,value in enumerate(ebb):
print(f'index : {index+1}\tvalue :{value}')
bb=input('>>').strip()
if bb.isdecimal():
bb=int(bb)
if 0<bb<=len(ebb)+1:
if ebb[bb-1] in apt:
apt[ebb[bb-1]]+=1
else:
apt[ebb[bb-1]]=1
else:
print(f'{bb} out of range')
elif bb.lower() == 'q':
break
else:
print(f'{bb:^10}input wrong')
for key,value in apt.items():
print(f'key : {key:^10} value: {value:^10}') -
import socket
def send_msg(udp_socket):
dest_ip=input("ip:")
dest_port=int(input("port:"))
send_data=input('send data:')
udp_socket.sendto(send_data.encode(encoding='utf-8',errors='strict'),(dest_ip,dest_port))
def recv_msg(udp_socket):
recv_data=udp_socket.recvfrom(1024)
print('%s:%s' % (recv_data[-1],recv_data[0].decode('utf-8')))
def main():
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udp_socket.bind(("",8081))
while True:
print(f'1:sendto\n2:recvfrom\n3:exit}}')
opt=input('>>')
print(repr(opt))
if opt=='1':
send_msg(udp_socket)
elif opt=='2':
recv_msg(udp_socket)
elif opt=='3':
break
else:
print('input error')
if __name__ == '__main__':
main()udp通信小程序
-
apt=[
{'name':'ash','hobby':'vvb'},
{'name':'ash','hobby':'ccv'},
{'name':'ash','hobby':'zzx'},
{'name':'ash','hobby':'awe'},
{'name':'bid','hobby':'hhp'},
{'name':'bid','hobby':'qqz'},
{'name':'bin','hobby':'889'}
]
# bow=list()
# for b in apt:
# for v in bow:
# if b['name'] == v['name']:
# v['hobby_list'].append(b['hobby'])
# break
# else:
# bow.append({'name':b['name'],'hobby_list':[b['hobby']]})
# print(bow)
bud={}
for b in apt:
if b['name'] in bud:
bud[b['name']]['hobby_list'].append(b['hobby'])
else:
bud.update({b['name']:{'name':b['name'],'hobby_list':[b['hobby']]}})
print(bud)
print(list(bud.values())) -
ebb=input(">>")
if ebb=='mysql':
import mysql as apt
elif ebb='oracle':
import oracle as apt
apt.bow() #统一接口 -
ebb=[1,1,3,{'apt':'bud'}]
ebb1={'a':88}
ebb2={'b':99}
# with open(r'p.txt',encoding='utf-8',mode='wt') as fh:
# import json
# bb=json.dump(ebb,fh)
# fh.write('\n')
# json.dump(ebb1,fh)
# fh.write('\n')
# json.dump(ebb2,fh)
#
# with open(r'p.txt',encoding='utf-8',mode='rt') as fh:
# for x in fh:
# print(x,type(x))
# print(json.loads(x.strip()),type(json.loads(x.strip())))
# # vv=json.load(fh)
# # print(vv,type(vv))
with open(r'p.txt',encoding='utf-8',mode='wt') as fh:
import json
fh.write(json.dumps(ebb)+'\n')
fh.write(json.dumps(ebb1)+'\n')
fh.write(json.dumps(ebb2)+'\n')
with open(r'p.txt',encoding='utf-8',mode='rt') as fh:
while True:
try:
print(json.loads(fh.readline()))
except json.decoder.JSONDecodeError:
break
fh.close()fh=open(r'p.txt',mode='wb') # mode must be 'wb'
import pickle
pickle.dump(ebb,fh)
pickle.dump(ebb1,fh)
pickle.dump(ebb2,fh)
fh=open(r'p.txt',mode='rb')
while True:
try:
print(pickle.load(fh))
except EOFError:
break
fh.close()def ebb():
print('bbbb')
print(id(ebb))
import pickle
fh=open(r'p.txt',mode='wb')
pickle.dump(ebb,fh)
fh=open(r'p.txt',mode='rb')
bow=pickle.load(fh)
print(bow,id(bow)) -
-
hashlib 密码校验
def bow(v):
import hashlib
b=hashlib.sha256()
with open(v,mode='rb') as fh:
xx=fh.read()
b.update(xx)
return b.hexdigest()
print(bow(r'F:\software-terse\pycharm-community-2020.1.exe'))def dip(v):
import hashlib
cue=hashlib.sha256()
with open(v,mode='rb') as fh:
while True:
bb=fh.read(1024)
if bb:
cue.update(bb)
else:
break
return cue.hexdigest()
print(dip(r'F:\software-terse\pycharm-community-2020.1.exe')) -
tcp client
import socket
def main():
tcp_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_ip=input('server_ip').strip()
server_port=int(input('server_port').strip())
server_addr=(server_ip,server_port)
tcp_socket.connect(server_addr)
send_data=input('send_data')
tcp_socket.send(send_data.encode('utf-8',errors='strict'))
tcp_socket.close()
if __name__ == '__main__':
main()tcp server
import socket
def main():
tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp_server_socket.bind(("",7890))
tcp_server_socket.listen(128)
print(f'-----------------------')
new_client_socket,new_client_addr=tcp_server_socket.accept()
print(f'$$$$$$$$$$$$$$$$$$$$$$$$$$$')
print(new_client_addr)
recv_data=new_client_socket.recv(1024)
print(recv_data.decode(encoding='gbk',errors='strict'))
new_client_socket.send('发射点发拉斯反对'.encode('utf-8',errors='strict'))
new_client_socket.close()
tcp_server_socket.close()
if __name__ == '__main__':
main() -
import socket
def main():
tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp_server_socket.bind(("",7890))
tcp_server_socket.listen(128)
while True:
print('waiting for new client')
client_socket,client_addr=tcp_server_socket.accept()
print(client_addr)
print('new client connect %s' % str(client_addr))
recv_data=client_socket.recv(1024)
print('recv_data:%s' % recv_data.decode('utf-8'))
client_socket.send('vvvvvvvvvpppppp'.encode(encoding='utf-8',errors='strict'))
client_socket.close()
tcp_server_socket.close()
if __name__ == '__main__':
main()tcp server
-
import time
def log(v):
def inner(*args,**kwargs):
dip=v(*args,**kwargs)
if v.__name__ == 'login' or v.__name__ == 'register':
with open('auth.log',encoding='utf-8',mode='at') as f:
msg='%s vvvvvvvv %s' % (time.strftime('%Y-%m-%d %H:%M:%S'),v.__name__)
f.write(msg+'\n')
else:
with open('operate.log',encoding='utf-8',mode='at') as f:
msg='%s vvvvvvv %s' % (time.strftime('%Y-%m-%d %H:%M:%S'),v.__name__)
f.write(msg+'\n')
return dip
return inner
带参数的装饰器
import time
def logger(path):
def log(vv):
def inner(*args,**kwargs):
dim=vv(*args,**kwargs)
with open(path,encoding='utf-8',mode='at') as f:
msg='%s bbbbbbb %s' % (time.strftime('%Y-%m-%d %H:%M:%S'),vv.__name__)
f.write(msg)
return dim
return inner
return log
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律