
编程
文章平均质量分 60
bigcarp
--
展开
-
Django实现websocket
现在,很多网站为了实现推送技术,所用的技术都是轮询。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。dwebsocket有两种装饰器:require_websocket和accept_websocekt,使用require_websocket装饰器会导致视图函数无法接收导致正常的http请求,一般情况使用accept_websocket方式就可以了,转载 2023-01-20 11:42:09 · 798 阅读 · 0 评论 -
Django使用Channels实现WebSocket
WebSocket区别于HTTP协议的一个最为显著的特点是,WebSocket协议可以由服务端主动发起消息,对于浏览器需要及时接收数据变化的场景非常适合,例如在Django中遇到一些耗时较长的任务我们通常会使用Celery来异步执行,那么浏览器如果想要获取这个任务的执行状态,在HTTP协议中只能通过轮训的方式由浏览器不断的发送请求给服务器来获取最新状态,这样发送很多无用的请求不仅浪费资源,还不够优雅,如果使用WebSokcet来实现就很完美了。WebSocket允许服务端主动向客户端推送数据。转载 2023-01-20 11:32:16 · 2359 阅读 · 0 评论 -
BeautifulSoup中的.text 和get_text()的区别,.text与.string的区别
BeautifulSoup中的.text 和get_text()的区别,.text与.string的区别转载 2023-01-06 16:10:23 · 2214 阅读 · 1 评论 -
BeautifulSoup 执行tds=tr.findall(“td“)报错
拼写大小写错误。BeatufulSoup并没有findall(),但有findAll()原创 2023-01-06 15:17:21 · 355 阅读 · 0 评论 -
excel文件读写追加xlrd、xlwt、xlutils
python excel 操作转载 2022-12-19 10:13:13 · 910 阅读 · 0 评论 -
python selenium 如何使用post
selenium post转载 2022-12-08 12:14:30 · 3943 阅读 · 0 评论 -
selenium同时打开多个 chromedriver对象时候 unknown error: DevToolsActivePort file doesn‘t exist
selenium同时打开多个 chromedriver对象时候 unknown error: DevToolsActivePort file doesn't exist原创 2022-12-07 22:04:13 · 1928 阅读 · 1 评论 -
如何检测exe是否用 nuitka 打包
Nuitka打包对中文字符处理有问题,所以想判断是否用nuitka打包,并针对用nuitka打包的情况做一些特殊处理。Detect nuitka on the fly · Issue #216 · Nuitka/Nuitka · GitHub__nuitka_binary_dir和__compiled__两个变量都可以识别是否用nuitka打包。# test.pydef main(): try: if __nuitka_binary_dir is not...原创 2022-04-17 12:28:26 · 1273 阅读 · 0 评论 -
pycharm 提交代码出现错误remote: [31mx-oauth-basic: Incorrect username or password (access token)
问题描述pycharm 提交代码出现错误remote: [31mx-oauth-basic: Incorrect username or password (access token)解决办法:1. 第一步:控制台输入git config --system --unset credential.helper2. 第二步:重启pycharm(超级重要哟!)...转载 2022-03-28 09:56:50 · 1520 阅读 · 0 评论 -
git -- 家和公司同步开发
一、在家里上传代码给远程仓库起别名git reomte add origin 远程仓库地址向远程推送代码git push -u origin 分支二、在公司第一次获取代码克隆远程仓库代码git clone 远程仓库地址切换分支git checkout 分支三、 在公司进行开发切换到dev分支进行开发git checkout dev把master分支合并到dev分支[仅一次]git merge master修改代码提交代码git add.git commit -m ‘xxx转载 2022-03-25 17:27:30 · 643 阅读 · 0 评论 -
pycharm gitee 克隆后本地venv的配置
Clone项目点击 VCS -> get from Version Control点击【Log in to GitHub】,输入用户名密码登录:登录成功以后,点击【Clone】。Git 克隆完成。在项目中新建文件,弹出提示框:是否将文件添加到 Git。这里可以勾上 Remember, don’t ask again 在点击【add】,这样就不会每次新建文件都弹出来了。克隆下来的文件不包含venv和组件依赖,在本地创建venv:files》settings》Pytho...原创 2022-03-25 09:50:02 · 2088 阅读 · 0 评论 -
pyinstaller --noconsole 后selenium还弹出 chromedriver 黑色命令窗口
脚本中用了selenium打包时用了 --noconsole 参数,主程序的命令窗口黑框确实没有出现了,但调用chrome的时候,还是弹出了 chromedriver的命令行窗口黑框,解决: selenium包中的service.py(selenium->webdriver->common->service.py)源码中添加参数。 creationflags=134217728打开这个文件,然后定位到75行...原创 2022-03-15 13:06:50 · 2173 阅读 · 0 评论 -
django 分拆views 提示 module ‘app001.views‘ has no attribute ‘xxx‘
先说结论:views目录下的 __init__.py进行引用时,fromxxximportyyy需要在xxx前加上一个表示当前目录的点【.】from xxx import yyy#改为:from .xxx import yyy原 views.py内容def fun1(arg): passdef fun2(arg): pass新建views目录,创建三个文件 :__init__.py a.py b.pyviews/ __init__....原创 2022-03-14 15:08:41 · 3126 阅读 · 0 评论 -
python logging通过tkinter的Text控件显示日志
logging自带的handler有很多类型,StreamHandler、FileHandler、RotatingFileHandler、TimedRotatingFileHandler、NullHandler、WatchedFileHandler、SocketHandler、DatagramHandler、SysLogHandler、NtEventHandler、SMTPHandler、MemoryHandler、HTTPHandler我想在GUI界面上显示日志内容,以上Handler都不支持..原创 2022-03-11 18:10:05 · 6662 阅读 · 2 评论 -
Nuitka 加 --windows-disable-console 选项后隐藏的坑
Nuitka打包python,加 --windows-disable-console 选项后报错。经过半天排查,终于查明是因为中文字符问题。(我没有使用中文,只是print的信息中有个中文感叹号,所以大大增加了我排查时间。 )排查问题,从console看报错信息肯定是第一选择啊,但在console中这丫又好好的正常的,加了 --windows-disable-console 又不行了,这又增加了排查时间。最后只能把捕捉到错误信息保存到文本里面,才找到原因。上代码:import tkin原创 2022-03-09 18:40:42 · 2623 阅读 · 3 评论 -
Tkinter多线程中,子线程未完成,如何优雅退出程序
pythontkinter多线程时,如果某个子线程还在运行中,直接关闭主界面,界面会被卡住,然后主界面关闭了,子线程还在执行(相关窗口,例如命令行窗口、子线程打开的浏览器窗口等都在继续),查看任务管理器会看到进行还在。解决:https://cloud.tencent.com/developer/article/1098313在脚本运行过程中有一个主线程,若在主线程中创建了子线程,当主线程结束时根据子线程daemon属性值的不同可能会发生下面的两种情况之一:如果某个子线程的daemon属性..转载 2022-03-09 15:00:39 · 1715 阅读 · 0 评论 -
treeview 的show属性
treeview组件由三部分组成:tree、headings、data_list。show属性只控制tree和headings,不控制data_list。show的默认值是“tree headings”,即tree和headings都显示。# 以下两个是等效的,tree、headings、data_list都显示:tv = ttk.Treeview(win)tv = ttk.Treeview(win, show='tree headings')# 以下这个只显示head...原创 2022-03-06 15:33:32 · 1467 阅读 · 0 评论 -
python 部分库的手册、文档、接口说明、学习资源 reference、handbook、api、doc
tkintertkinter — Python interface to Tcl/Tk — Python 3.10.2 documentationTkDocs HomeTkinter 8.5 参考:Python 的 GUI 【另有内容一样的PDF版(书籍)看得舒服些Tkinter 8.5 reference: aGUI for Python -- John W. Shipman】原创 2022-03-05 00:04:20 · 384 阅读 · 0 评论 -
VB6 IDE 做 tkinter 设计器 designer
Tkinter designer插件+ vb6精简版原创 2022-03-04 21:48:32 · 1772 阅读 · 1 评论 -
requests.get 跟 request.session().get 区别
结论:两个都是基于 sessions.Session发送请求的,区别仅在于前者请求完即刻断开连接(连接只用一次)。后者需要手动断开连接(连接可以反复用)。requests.get 和session.get 的用法,我们通常是这样的:# requests直接getresponse = requests.get()#----分割线------------------------------------------# 先创建一个session对象,然后gethttp = req.原创 2022-03-04 16:35:33 · 7589 阅读 · 0 评论 -
tkinter 支持的颜色
https://blog.csdn.net/chl0000/article/details/7657887from Tkinter import *colors = '''#FFB6C1 LightPink 浅粉红#FFC0CB Pink 粉红#DC143C Crimson 深红/猩红#FFF0F5 LavenderBlush 淡紫红#DB7093 PaleVioletRed 弱紫罗兰红#FF69B4 HotPink 热情的粉红#FF1493 DeepPink 深粉红#C71585转载 2022-03-04 00:14:44 · 4195 阅读 · 0 评论 -
tkinter 界面设计工具
先推荐一个非tkinter的GUI框架Python Eel 。是Electron的python版vb6https://gitcode.net/mirrors/cdhigh/Visual-Tkinter-for-Python(https://github.com/cdhigh/tkinter-designer)Figma +Tkinterhttps://blog.csdn.net/qq_41854273/article/details/118310241visual...原创 2022-03-02 14:42:40 · 6465 阅读 · 2 评论 -
Logging 之root 打印器来捣乱
代码中要对多个用户的资料进行管理。为了让每个用户单独一个日志文件。使用了logging 。在屏幕输出的时候却遇到怪异的情况:rootlogger【根打印器】似乎可以创建很多个,并且不会消失(创建logger时没有指定名字 logger = logging.getLogger(),就会返回一个rootloger ,参见:Python 日志打印之logging.getLogger源码分析 - 授客 - 博客园)其他有名字的logger输出的时候,这些rootlogger都回一并跑出来也输出一...原创 2022-02-24 22:55:38 · 1047 阅读 · 0 评论 -
EOS 使用RPC API抵押/赎回CPU和NET资源
EOS开发(十二)使用RPC API抵押/赎回CPU和NET资源 - 简书使用RPC API抵押/赎回CPU和NET资源转载 2022-02-24 16:31:07 · 495 阅读 · 0 评论 -
Gmail邮箱允许异地登录/客户端登录
1: 登录谷歌https://accounts.google.com2: 允许安全性较低的应用的访问权限https://myaccount.google.com/lesssecureapps3: 打开页面并允许登录https://accounts.google.com/DisplayUnlockCaptchapython zmail 收发谷歌邮箱邮件遇到的问题错误信息:一、Please log in via your web browser and then try ag转载 2022-02-14 00:49:41 · 15330 阅读 · 1 评论 -
js的 Promise / async和await
const p1 = new Promise(function(resolve, reject) { ... some code if (res==1){ resolve(value1); } else { reject(err1); }});p1.then( function(a){console.log(a)}; function(a){console.log(a+a+a)}立即执行一个内容为【...some code】的异步函数,.原创 2022-02-06 21:04:44 · 613 阅读 · 0 评论 -
WebElement.find_element + xpath + 双斜杠// 的巨坑
先说结论:1、driver.find_element(By.XPATH,'//div[@class="city"]/div[@class="gdp"]')2、eleContainer.find_element(By.XPATH,'//div[@class="city"]/div[@class="gdp"]')这两个获取到的都是整个页面的第一个匹配项。 (2)之所以不是在容器内搜索,而是在整个页面中搜索,原因在于双斜杠“//”,去掉双斜杠才符合预期。我的测试页面如下:<html&g原创 2022-01-12 16:46:13 · 1606 阅读 · 2 评论 -
多线程银行业务办理模拟
1. 项目介绍设计一个多线程模拟银行业务办理程序: 业务时间 模拟客户可以随机办理银行提供的8种业务中的一种(基准时间自定义),办理时间规划为:业务 业务序号 办理时间范围 取款 1 0.5-1.5r 存款 2 0.5-1.5r 缴纳罚款 3 1.2-2.0r 开通网银 4 5.0-8.0r 缴纳水电费 5 1.5-2.0r 购买基金 6 2.0-3.0r 转账汇款转载 2022-01-10 17:11:32 · 841 阅读 · 0 评论 -
Python 线程安全(同步锁Lock)详解
多线程编程是一件有趣的事情,它很容易突然出现“错误情况”,这是由系统的线程调度具有一定的随机性造成的。不过,即使程序偶然出现问题,那也是由于编程不当引起的。当使用多个线程来访问同一个数据时,很容易“偶然”出现线程安全问题。线程安全问题关于线程安全,有一个经典的“银行取钱”问题。从银行取钱的基本流程基本上可以分为如下几个步骤:用户输入账户、密码,系统判断用户的账户、密码是否匹配。 用户输入取款金额。 系统判断账户余额是否大于取款金额。 如果余额大于取款金额,则取款成功;如果余额小于取款金额,转载 2022-01-10 16:54:51 · 625 阅读 · 0 评论 -
selenium driver quit()后重新get() 报错
Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')解决方案:get之前先判断是否已经quit() if self.driver == None: self.driver = webdriver.Chrome() elif self.driver.service.process == None: self.driver =原创 2022-01-05 11:18:57 · 9548 阅读 · 4 评论 -
主动 raise Exception,以触发tenacity 的 Retry 动作
tenacity 的本质就是 try 一个 funciton(), 捕捉到Exception的话,再次调用这个function。并且:1、必须有Exception被tenacity捕捉到,才会Retry。2、只要有Exception被tenacity捕捉到,就会Retry。所以:当出现非预期结果,就应该主动raise Exception,以触发tenacity 的 Retry 动作另外:如果在function()里面已经加了try,导致报错没有冒泡上浮,tenacit..原创 2022-01-04 16:08:09 · 233 阅读 · 0 评论 -
python 类变量和实例变量
通常来说,实例变量是对于每个实例都独有的数据,而类变量是该类所有实例共享的属性和方法。其实我更愿意用类属性和实例属性来称呼它们,但是变量这个词已经成为程序语言的习惯称谓。一个正常的示例是:class Dog: kind = '土狗' # class variable shared by all instances def __init__(self, name): self.name = name # instance variable u原创 2022-01-04 08:33:53 · 1414 阅读 · 0 评论 -
从浅到深讲解python修饰器
转载自:https://www.cnblogs.com/wolf-yasen/p/11240500.html什么是修饰器?修饰器是一个函数,接受一个函数或方法作为其唯一的参数,并返回一个新函数或方法,其中整合了修饰后的函数或方法,并附带了一些额外的功能.[1]上面的定义不免有点难以理解,我们来看下面的图我们之前所理解的python执行函数过程是如图1.1的流程.如果我们给函数添加了修饰器,那么当程序执行到函数A的时候,系统会检测到函数A上有一个修饰器,那么系统就会先执行修饰器里的转载 2021-12-11 18:26:29 · 591 阅读 · 0 评论 -
python之retry 及‘@‘符号用作函数修饰符
如果自动化中失败了一次,我们给机会了,成功了就既往不咎。只能说明不够稳定。那么retry该如何写呢?小明刚开始学爬虫的时候,发现请求有很多时候不能得到正确的返回。他这样写的。def crawl_page(url): passdef log_error(url): passurl = ""try: crawl_page(url)except: log_error(url)发现很多时候请求一次,得到的是exception,但是多请求两次,就得到了转载 2021-12-09 12:16:08 · 727 阅读 · 0 评论 -
Windows Server 2012 r2服务器下import cv2 出现ImportError: DLL load failed
原因:出现这个问题一般是缺少 MFPlat.DLL、MF.dll、MFReadWrite.dll 三个文件导致。网上有说版权问题,要降opencv-pyton版本;或说安装“优质Windows音频视频体验”啥的,要么没效果要么太过麻烦。解决办法:直接下载附件文件,把对应操作系统位数文件夹内的dll,拖入"\Python\Lib\site-packages\cv2"目录下即可解决,如下图:虽然博主提供了下载,但由于是放在服务器上的,对于是否含有木马等还是有顾虑。所以还是自己装一下“桌面体验”.转载 2021-11-21 13:07:41 · 1729 阅读 · 2 评论 -
chrome 启动参数--user-data-dir 和 --profile-directory的关系
--user-data-dir 浏览器存储用户配置文件的目录。--profile-directory 选择要与启动的第一个浏览器关联的配置文件目录。user-data-dir 下可以有多个 profile-directory,每创建一个user就就会多一个profile-directory,其中默认的profile-directory位于“user-data-dir\Default”,之后每创建一个,对应的文件夹名称是:“user-data-dir\Profile 2”、“use...原创 2021-11-20 12:01:09 · 23863 阅读 · 0 评论 -
EOS 提交交易失败分析
https://feelncut.com/2020/02/02/288.htmlhttps://uzshare.com/view/829601https://blog.csdn.net/yhc166188/article/details/84862880EOS 提交交易失败分析February 2, 2020错误报出的位置 运行交易所需要的时间 交易可用时间上限 用户可用 CPU 时间 总结 EOS 向节点提交交易时失败,提示 billed CPU time (Y us) .转载 2021-11-20 10:21:40 · 487 阅读 · 0 评论 -
谷歌浏览器启动chrome 常用参数
exePath = r'C:\Users\demofish\AppData\Local\Google\Chrome\Application\chrome.exe'exeParameter = ""exeParameter += r" --lang=en" # 指定浏览器的语言,避免出现“询问是否翻译非您所用语言的网页”exeParameter += r' --profile-directory="Profile 2"' # Chrome多账户个人数据文件夹exeParameter +=.原创 2021-11-19 16:43:21 · 3784 阅读 · 0 评论 -
解决iOS手机连接fiddler后出现此站点的安全证书不受信任 的问题
关闭Fiddler点击此处 安装 Fiddlercertmaker。(!!!注意这步是解决问题的关键。!!!)安装完成后,打开Fiddler,打开“Tools”>“Options”>“ HTTPS” 菜单,点击 Actions >“Reset all certificates”选项。这将删除所有以前使用的证书,并信任新证书。解决iOS手机连接fiddler后出现 “此站点的安全证书不受信任” 的问题!!!原文链接:https://blog.csdn.net/cz_...转载 2021-11-17 16:04:05 · 6457 阅读 · 3 评论 -
如何避免服务器检测到你在使用
Can a website detect when you are using Selenium with chromedriver?https://stackoverflow.com/questions/33225947/can-a-website-detect-when-you-are-using-selenium-with-chromedriver/52108199#52108199Selenium webdriver: Modifying navigator.webdrive...转载 2021-11-17 08:03:19 · 796 阅读 · 0 评论