python对象创建 先看一段代码,str.__call__("ADSDD")list.__call__("asdsad")dict.__call__(a=10)class A: def __init__(self, x): self.x = xA.__call__(10)结果依次为:'ADSDD'['a', 's', 'd', 's', 'a', 'd']{'a': 10}<__main__.A at 0x22adf1211f0>从输出我们可以发现,py
django.db.utils.OperationalError: (2006, “MySQL server has gone away 104, ‘Connection reset by peer‘ 问题原因:由于数据库wait_timeout超时.set global wait_timeout=10; 解决办法:在settings中加入:def is_connection_usable(): try: connection.connection.ping() except: return False else: return Truedef my_execute_sql(self, result_ty
解决vue打包后刷新问题 问题描述:以vue打包后运行再django后端为例, 当部署再django后端口,正常访问网页没问你,从页面中跳转也没问题,但是当跳转到非入口页面后,如果此时刷新页面就会报错,说页面路由不存在;解决办法:由于vue打包后只有一个文件,所以在这个页面每次访问时通过js动态获取当前url,然后从url中分割出来具体的路径,之后通过vue中的app.$router.push(path)跳转到相应的页面即可;具体实施:首先再vue项目中的main.js中加入一下代码:var url = win
A星(AStar)算法的实现 关于AStar的原理这里简述一下,首先有一张地图,然后准备一个open list 和 close list,open list存放所有可能的路径,但是需要注意的是这个列表是动态怎加的,也就是每走一步就把当前可能的路径都加进去,然后每次从open list中去除一个最小代价的点,最为下一步的路径,并用该点计算之后可能的路径 在加入到open list中去,然后把这个代价最小的点放到close list中,表示该点已经走过了,如此循环直到从open list取出的最小代价点为 终点,此时通过回溯找到路径;代
平衡二叉树的python实现 class Node: def __init__(self, val): self.val = val self.left = None self.right = None def __str__(self): return str(self.val) __repr__ = __str__def depth(node): if node is None: return 0 d1.
C/C++实现协程API包括上下文切换 协程可以很方便在一个线程中实现多个函数间的切换执行,如果某个函数需要等待,则可以切换到其他函数,这可以很大程度提高一个线程的利用率,因此现在很流行;c++很多版本原生并没有提供协程,但是由于c++支持内联汇编,所以实现一套协程api并非难事,只要实现函数间的上下文切换,其他的就容易多了,上下文切换通常就是保存当前函数的寄存器,由于是主动切换所以需要保存的寄存器也就很少了,下面给出一种协程的实现方式:coroutine.h#ifndef M_COROUTINE_H#define M_COROUTI
使用内联汇编实现函数调用 在实现之前需要熟悉汇编和堆栈的知识才行,否则可能无法理解;首先输说一下函数的几种调用方式,常见的三种有:1.__cdecl 参数从右至左入栈 调用者清理栈(外平栈);2.__stdcall 参数从右至左入栈 自身清理堆栈(内平栈);3.__fastcall ecx和edx传送前两个参数,剩下的参数从右至左入栈 自身清理堆栈,如果参数<=两个则不用平衡堆栈,因为参数在寄存器里;在了解之后,就可以写代码了,//使用内联汇编编写函数int __fastcall add(int
c++使用链表实现列表List 使用双向链表实现:// Project1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。///*/*#ifdef _MSC_VER#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )#endif*/#include <iostream>...
python原生实现xml解析算法 在python中xml解析有很多好用的库,一下实现仅供参考:实现思路,顺序遍历xml字符串,同时纪录xml结构信息,然后将这些结构信息对应起来,最后根据这些结构信息构建节点树;下面给出代码:"""xml 解析"""class Element: def __init__(self, name, properties=None, content=None, parent...
创建可交互进程 go language 版本:需要依赖winpty.dll 和 winpty-agent.exewinpty.gopackage winptyimport ( "fmt" "io" "os" "syscall" "unsafe")type Options struct { // DllDir is the path to winpty.dll and winpt...
Python利用winpty创建可交互程序 在Windows上直接使用Python的任何模块都无创建完全的可交互程序,比如创建的cmd程序,当你使用该进程进行交互时一旦遇到Python、powershell、wmic等程序是无法进行交互的,那么如何使得创建的程序支持交互呢?这里使用winpty创建程序,winpty再很多程序中都有其身影,比如Windows的jetbrain系列(pycharm、IDEA、Goland等等)都采用winpty...
windows远程下载和上传 Python实现 talk is cheap, show mycode:import subprocessimport ctypeskernel32 = ctypes.windll.kernel32language_code = {"0x804": "gbk", "0x409": "utf-8"}def get_default_language_encoding(): return l...
python实现http/https代理服务器 代码:# encoding:utf-8import socketimport _threadclass Header: """ 用于读取和解析头信息 """ def __init__(self, conn): self._method = None header = b'' try: ...
golang连接ssh远程执行命令 直接上代码:package mainimport ( "bufio" _ "bytes" "fmt" "golang.org/x/crypto/ssh" "log" "os")type MyReader struct {}var cmdChannel = make(chan string)func (r MyReader)Read(p []byte) (n i...
golang实现ini配置(config)文件解析 直接上代码:package mainimport ( "bytes" "fmt" "os" "strings")/*解析ini文件*/func nIndex(str string, c rune, count int) []int { res := make([]int, 0) amount := 0 for i, s := range str { if a...
golang实现文件传输 服务段代码:package mainimport ( "bytes" "fmt" "io/ioutil" "net" "os" "os/exec" "runtime" "strconv" "strings" "syscall")func initEnv(i ...int) { c:=1 if len(i) == 0 { if runtime.GOOS==...
golang实现socket server.go//模拟server端func main() { tcpServer, _ := net.ResolveTCPAddr("tcp4", ":8080") listener, _ := net.ListenTCP("tcp", tcpServer) for { //当有新的客户端请求来的时候,...
Linux和Windows文件高速传输 以下代码使用socket实现了文件传输:server,运行在目标服务端上:import osimport signalimport psutilimport socketimport threadingfrom multiprocessing import Queue, Processclass AtomicInteger: def __init__(self, ...
c/c++使用宏定义实现打印自动换行 直接上代码:#define print(str,...) printf(str##"",__VA_ARGS__)int main(){ print("adasdasd%d",10); print("adasdasd%d",10);}结果如下:
openpyxl 复制cell单元格包括所有样式 target_cell.data_type = source_cell.data_typetarget_cell.fill = copy(source_cell.fill)if source_cell.has_style: target_cell._style = copy(source_cell._style) target_cell.font = copy(source_...