随笔分类 -  Python相关

摘要:当报错3948, 'Loading local data is disabled; this must be enabled on both the client and server sides'时需程序双端开启 local_infile = True 阅读全文
posted @ 2023-07-14 09:01 JanWong 阅读(69) 评论(0) 推荐(0)
摘要:场景:python使用openpyxl导出excel文件提示"是否让我们尽量尝试恢复? 如果您信任此工作簿的源,请单击“是”。" 解决办法: # 将数据写入io数据流 sio = BytesIO() wb.save(sio) sio.seek(0) # 将excel数据响应回客户端 response 阅读全文
posted @ 2022-09-22 14:47 JanWong 阅读(592) 评论(0) 推荐(0)
摘要:xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist error: command 'gcc' failed with exit status 1 直接在终端 阅读全文
posted @ 2020-10-20 15:53 JanWong 阅读(384) 评论(0) 推荐(0)
摘要:一: 安装virtualenv pip install virtualenv 二: 创建虚拟环境并指定python版本 virtualenv venv --python=pythonx.x.x 三: 进入虚拟环境 source venv/bin/activate 四: 退出虚拟环境 deactiva 阅读全文
posted @ 2020-10-16 09:03 JanWong 阅读(27089) 评论(0) 推荐(0)
摘要:话不多说直接上代码 封装连接 @staticmethod def connect(ip, server_user, server_port, server_path): """ 连接服务器 :param : :return: """ ssh = paramiko.SSHClient() privat 阅读全文
posted @ 2019-11-07 10:41 JanWong 阅读(504) 评论(0) 推荐(0)
摘要:我的后端使用的flask_socketio做服务端 前端使用的vue_socketio当客户端 vue.config.js配置 module.exports = { outputDir: process.env.outputDir, assetsDir: 'static', publicPath: 阅读全文
posted @ 2019-10-14 19:52 JanWong 阅读(11337) 评论(2) 推荐(0)
摘要:一、subprocess以及常用的封装函数运行python的时候,我们都是在创建并运行一个进程。像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序。在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序。subpro 阅读全文
posted @ 2019-09-24 14:47 JanWong 阅读(256) 评论(0) 推荐(0)
摘要:安装:pip install uwsgi 启动:uwsgi -x 'uwsgi.xml'报错:uwsgi: invalid option -- 'x' 原因:centos下,在没有安装libxml2时,pip安装的uwsgi无法支持xml格式的配置文件解决:yum install libxml*pi 阅读全文
posted @ 2019-08-06 13:44 JanWong 阅读(1993) 评论(0) 推荐(0)
摘要:heapq模块中有两个函数--nlargest和nsmallest可以找到列表,元祖,集合等数据结构中的最大或最小的n个元素,并以列表的形式返回 结果 这两个函数都可以接受一个参数key,从而允许他们工作在更加复杂的数据结构之上 结果 如果寻找最大或最小的n个元素,且同数据结构中的元素相比,n很小, 阅读全文
posted @ 2019-07-12 14:22 JanWong 阅读(284) 评论(0) 推荐(0)
摘要:装饰器进阶 现在,我们已经明白了装饰器的原理。接下来,我们还有很多事情需要搞清楚。比如:装饰带参数的函数、多个装饰器同时装饰一个函数、带参数的装饰器和类装饰器。 装饰带参数函数 def foo(func): # 接收的参数是一个函数名 def bar(x, y): # 这里需要定义和被装饰函数相同的 阅读全文
posted @ 2019-02-28 16:55 JanWong 阅读(272) 评论(0) 推荐(0)
摘要:1、粘包的概念粘包:多个数据包被连续存储于连续的缓存中,在对数据包进行读取时由于无法确定发生方的发送边界,而采用某一估测值大小来进行数据读出,若双方的size不一致时就会使指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。 2、出现粘包的原因出现粘包 阅读全文
posted @ 2019-02-23 12:53 JanWong 阅读(8194) 评论(0) 推荐(3)
摘要:Gibibyte(giga binary byte的缩写)是信息或计算机硬盘存储的一个单位,简称GiB。由来“GiB”、“KiB”、“MiB”等是于1999年由国际电工协会(IEC)拟定了"KiB"、“MiB”、“GiB"的二进制单位,专用来标示“1024进位”的数据大小。而后,这一标注规范又于20 阅读全文
posted @ 2019-01-14 17:40 JanWong 阅读(54397) 评论(1) 推荐(3)
摘要:1. 枚举的定义 示例代码: 代码分析: 上面的代码,就无法执行。提示错误:TypeError: Attempted to reuse key: 'red' 1.2 默认情况下,不同的成员值允许相同。但是两个相同值的成员,第二个成员的名称被视作第一个成员的别名 成员Color.red和Color.r 阅读全文
posted @ 2019-01-14 17:37 JanWong 阅读(2051) 评论(0) 推荐(0)
摘要:>>> a = 1 >>> b = 3 >>> print(a/b) >>> #方法一: ... print(round(a/b,2)) 0.0 >>> #方法二: ... print(format(float(a)/float(b),'.2f')) 0.33 >>> #方法三: ... print 阅读全文
posted @ 2019-01-14 17:23 JanWong 阅读(296) 评论(0) 推荐(0)
摘要:完成三次握手,客户端与服务器开始传送数据 A与B建立TCP连接时:首先A向B发SYN(同步请求),然后B回复SYN+ACK(同步请求应答),最后A回复ACK确认,这样TCP的一次连接(三次握手)的过程就建立了! 一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是 阅读全文
posted @ 2019-01-14 17:16 JanWong 阅读(1014) 评论(0) 推荐(0)
摘要:1、ERR引发的思考 创建好的 vue 项目直接执行 vue run dev 报错?运行 vue run serve 就可以启动...如下 2、dev build serve? 其实 npm run dev 或者是 npm run serve 等 npm run xxx 并不是一定要这么写。npm 阅读全文
posted @ 2019-01-14 17:11 JanWong 阅读(4095) 评论(0) 推荐(1)
摘要:glob可以模糊查询路径下存在某个文件 直接上代码 import glob java_jar_path = os.path.join(clone_path, 'build', 'libs') jar_name = glob.glob(java_jar_path + '/*.jar') 如果存在会返回 阅读全文
posted @ 2019-01-14 17:08 JanWong 阅读(232) 评论(0) 推荐(0)
摘要:1. 查看Docker镜像仓库中Nginx的可用版本。 docker search nginx 2. 拉取最新版的Nginx镜像。 docker pull nginx:latest 3. 查看本地镜像。 docker images 4. 运行容器。 docker run --name nginx-t 阅读全文
posted @ 2018-08-08 00:21 JanWong 阅读(9818) 评论(1) 推荐(1)
摘要:self代表类的实例,而非类。 class Test: def prt(self): print(self) print(self.__class__) t = Test() t.prt() 执行结果如下 <__main__.Test object at 0x000000000284E080> <c 阅读全文
posted @ 2018-07-24 15:49 JanWong 阅读(68596) 评论(2) 推荐(5)
摘要:filter: session.query(MyClass).filter(MyClass.name == 'some name') filter_by: session.query(MyClass).filter_by(name = 'some name') filter用类名.属性名,比较用== 阅读全文
posted @ 2018-07-23 16:03 JanWong 阅读(372) 评论(0) 推荐(0)