0x01 PyCharm安装包的方法
引入图片
0x02 命令行安装
无法在pycharm中指定源 关键命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bs4
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
测试有效
主要依赖的是 subprocess模块
Server端:
import socket
import subprocess
sk = socket.socket()
sk.bind(("127.0.0.1",10050))
sk.listen()
conn,addr = sk.accept()
while True:
if getattr(conn,'_closed'):
conn, addr = sk.accept()
# 获取接收到的命令
exec_cmd = conn.recv(10...
主要是针对拆包的negal算法和合包的数据获取导致的问题
sever端:
import socket
import json
import struct
sk = socket.socket()
sk.bind(("127.0.0.1",8001))
sk.listen()
conn,addr = sk.accept()
b_len_dic = conn.recv(4)
len_dic = struct.unpack('i',b_len_dic)[0]# 获取到int类型字典的长度,
# unpack得到的是一个元组,要取下标为0的位置
...
0x01 思路
使用tcp协议传输文件
json解析二进制的时候,有问题, 不建议使用,推荐 pickle
0x02 代码
服务器端
# 测试文件服务器
# 实现文件的上传和下载
import socket
import os
import json
import pickle
sk = socket.socket()
sk.bind(("127.0.0.1",10051))
sk.listen()
#等待连接
conn,addr = sk.accept()
while...
可以对比下tcp
服务端:
#udp测试
import socket
sk = socket.socket(type = socket.SOCK_DGRAM)
sk.bind(("127.0.0.1",10050))
# 收发
while 1:
msg_str,addr = sk.recvfrom(1024)
print("客户端:",msg_str.decode("utf-8"),addr)
msg_s = input(">>>")
sk.sendto(msg_s.encode("ut...
服务端:
#聊天室测试
import socket
import time
sk = socket.socket()
sk.bind(('192.168.3.12',30031))
sk.listen()
conn, addr = sk.accept()
#客户端永远开启
while True:
if getattr(conn,'_closed'):
print("走了一个哥们")
conn, addr = sk.accept()
print("新来人了!!")
msg_b...
import re
from urllib.request import urlopen, Request
def getPage(url):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
ret = Request(url, headers=headers)
res = urlopen(ret)
return...
0x01 round的疑问
简单测试round函数,有些情况会让你很疑惑. 为啥四舍五入有时候不起作用, 这涉及到的底层浮点数保存的问题.学习过逆向或者汇编的话, 都知道浮点数的精度问题.
0x02 查资料
开始百度下,一定不止我一个人有这个疑问的.
知乎上的解释
https://www.zhihu.com/question/20128906
真心不喜欢这里面的气氛, 感觉是你这都不懂,还学编程的架势, 我去! 哎, 提问的人说这是个bug, 哎,看来惹到他们了.
********** (这是MR...
0x01 背景
最近在补python的课程
写了下大乐透的生成算法 (适用于其他的中奖游戏)
0x02 贴代码
from random import randint
def getRandomList(start,stop,count):
list1 = []
while len(list1)<count:
rand_number = randint(start,stop)
if rand_number in list1:
continue
...
#coding:utf-8
import requests,bs4,sys
#防止 编码问题
reload(sys)
sys.setdefaultencoding('utf8')
for i in range(1,30000):
res = requests.get('http://www.yangtuobaobei.cn/?'+str(i))
userFile = open('userNew.txt', 'a')
if(res.status_code == 200):
...
错误描述:
/opt/ActivePython-2.7/lib/python2.7/site-packages/bs4/__init__.py:166: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtua...
#coding:utf8
import requests,re,sys
#防止 编码问题
reload(sys)
sys.setdefaultencoding('utf8')
for i in range(1,400000):
res = requests.get('http://www.yangtuobaobei.cn/?'+str(i))
if res.status_code==200:
userFile = open('user.txt','a')
#多行匹配,拿到用户名
user = re....
#coding:utf8
import zipfile,os
def backupToZip(folder):
folder = os.path.abspath(folder)
number = 1
while True:
zipFileName = os.path.basename(folder)+"_"+str(number)+".zip"
if not os.path.exis...
#coding:utf8
import os
for muluName,zimuluName,fileName in os.walk("H:\\LK"):
for zimulu in zimuluName:
print "目录:"+muluName+" 中的子目录:"+zimulu
for file in fileName:
print "目录:"+muluName+" 中的文件 :"+file
print...