python
风一样的男子&
熟练Python
展开
-
django逻辑删除is_delete并触发关联外键的on_delete
Django Collector采集器 中添加需要更新的字段,并在data中删掉当前model的instance即可。原创 2022-10-19 11:05:41 · 613 阅读 · 0 评论 -
一:Django Model
python .\manage.py migrate --fake 因为是转过来的model,正常迁移肯定会报错,而且我希望django认为这就是现有数据库的结果 ,所以第一次迁移就加--fake(数据库忽略此次migrate)python .\manage.py inspectdb > my_modela_app/models.py 自动生成的model可能和实际有出入,不过没关系,第一次迁移的时候解决。在你的django-app中的models.py文件中新建模型。原创 2022-09-26 15:03:07 · 186 阅读 · 0 评论 -
ubuntu安装python3.8
更新软件包列表并安装构建Python所需的软件包 apt update apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget 下载Python3.8的源代码 mkdir /home/download;cd /home/download wget https://www.python.org/ftp/..原创 2022-05-13 11:00:16 · 3518 阅读 · 0 评论 -
centos安装python3.7
查看centos版本[root@localhost ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarchDistributor ID:...原创 2022-02-25 09:39:37 · 1637 阅读 · 0 评论 -
Python3-Centos7-虚拟环境-virtualenv
安装:pip3 install virtualenvpip3 install virtualenvwrapper创建虚拟环境存放路径mkdir /home/.virtualenvs打开~/.bashrc文件,并添加如下:exportWORKON_HOME=/home/.virtualenvs保存退出 source~/.bashrcsource virtualenvwrapper.sh环境准备工作完成创建镜像,操作镜像mkvirtualenv -p pyt...原创 2021-09-24 11:11:49 · 126 阅读 · 0 评论 -
minio mc设置永久下载三种方式
前言Amazon Simple Storage Service (Amazon S3) 是一种面向 Internet 的存储服务。该服务旨在降低网络规模计算的难度(接口协议)MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API亚马逊云的 S3 API(接口协议) 是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准。 MinIO 在很早的时候就采用了 S3 兼容协议,并且MinIO 是第..原创 2021-09-13 16:07:45 · 2878 阅读 · 1 评论 -
centos8 中文语言包
UnicodeEncodeError: 'ascii' codec can't encode characters in position 69-72: ordinal not in range(128)1. yum install langpacks-zh_CN.noarch2. export LC_ALL=zh_CN.UTF-8如果还是不行,那就继续向下看3. cp /etc/locale.conf /etc/locale.conf.bak4. vim/etc/loca..原创 2021-09-09 11:38:19 · 223 阅读 · 0 评论 -
系统(分布式)设计理念Python
API设计原则对于云计算系统,系统API实际上处于系统设计的统领地位,正如本文前面所说,K8s集群系统每支持一项新功能,引入一项新技术,一定会新引入对应的API对象,支持对该功能的管理操作,理解掌握的API,就好比抓住了K8s系统的牛鼻子。K8s系统API的设计有以下几条原则:所有API应该是声明式的。正如前文所说,声明式的操作,相对于命令式操作,对于重复操作的效果是稳定的,这对于容易出现数据丢失或重复的分布式环境来说是很重要的。另外,声明式操作更容易被用户使用,可以使系统向用户隐藏实现的细节,隐藏转载 2021-06-09 09:48:43 · 122 阅读 · 0 评论 -
Python Django request FILES 文件 temporary_file_path
file_obj = request.FILES.get('file')file_obj.__dict__ 会得到{'file': <django.core.files.temp.TemporaryFile object at 0x000002A27CEBED68>, '_name': '3mv1oc1x.upload (1).80', 'size': 7851390, 'content_type': 'application/octet-stream', 'charset': None,.原创 2021-05-13 15:41:59 · 636 阅读 · 0 评论 -
python raise traceback 人工触发异常 并记录 异常栈
人工触发异常除了程序自动引发的异常外,也可以通过raise函数主动抛出异常,一般用在程序主动检查发现错误的情况,避免错误扩散。下面这段代码检查列表infList中的元素是否为列表,如果不是列表则抛出异常:for row in infList: if not isinstance(row,list): raise ValueError("checkAndRepairListData实参不满足第一个参数为二维列表的 求!\n"+traceback.format_exc())原创 2021-05-11 15:34:17 · 235 阅读 · 0 评论 -
python django configparse灵活解析配置文件
from configparser import ConfigParserdef config_read(filePath:str): cfg=ConfigParser() cfg.read(filePath) if "sql" in cfg.sections(): dbType=cfg.get('sql','type') host=cfg.get('sql','host') port=cfg.getint('sql','port.原创 2021-04-26 15:56:39 · 436 阅读 · 0 评论 -
django FILE_UPLOAD_MAX_MEMORY_SIZE DATA_UPLOAD_MAX_MEMORY_SIZE区别
django setting.pyDATA_UPLOAD_MAX_MEMORY_SIZEDefault:2621440(i.e. 2.5 MB). 默认大小The maximum size in bytes that a request body may be before aSuspiciousOperation(RequestDataTooBig) is raised. The check is done when accessingrequest.bodyorreq...原创 2021-02-06 13:47:48 · 1415 阅读 · 0 评论 -
python django cors跨域资源访问
django基于cors解决跨域请求问题详解阅读目录一、同源策略 二、CORS(跨域资源共享)简介 三、CORS基本流程 四、CORS两种请求详解 五、Django项目中支持CORS 六、利用django-cors-headers模块处理 七、通过jsonp处理跨域(基于原生js) 八、通过jsonp处理跨域(基于jQuery中的getJSON方法) 八、通过jsonp处理跨域(基于jQuery中的ajax方法)一、同源策略 同源策略(Same origin p.转载 2020-12-30 17:30:18 · 309 阅读 · 0 评论 -
django python CORS 和 CSRF的区别
什么是CORS?CORS 是一个 W3C 标准,全称是跨域资源共享(Cross-origin resource sharing),它允许浏览器向跨源服务器,发出XMLHttpRequest请求。XMLHttpRequest(XHR)对象用于与服务器交互。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。XMLHttpRequest在AJAX编程中被大量使用。整个 CORS 通信过程,都是浏览...原创 2020-12-30 17:28:25 · 206 阅读 · 0 评论 -
VScode编写Python快捷键,建议收藏
之前写Python都是用pycharm,因为最近激活越来越麻烦了,直接转Vscode,转了之后发现之前pycharm很多方便快捷的功能都没有了,今天特意在网上搜到一篇比较全的Vscode的快捷键。VSCode快捷键大全官方地址:https://code.visualstudio.com简单的配置{ "files.autoSave": "off", //禁用自动保存 "workbench.iconTheme": "vs-minimal", "explorer.auto原创 2020-12-18 10:21:59 · 6376 阅读 · 0 评论 -
python 前后端分离模式开发 RestFul django为例
1.Web应用模式,在开发Web应用中,有两种模式:1.1前段后端不分离(耦合度高,适合纯网页的应用!)image.png在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。应用场景分析:这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一..转载 2020-12-16 16:37:55 · 743 阅读 · 0 评论 -
python pandas超简单 对单列值进行计数 value_counts
import pandas as pddf = pd.DataFrame([[1],[7]],columns=['推广计划'])df = df["推广计划"].value_counts().rename_axis('unique_values').reset_index(name='counts') unique_values counts0 7 11 1 1...原创 2020-09-30 14:17:35 · 2247 阅读 · 0 评论 -
flask FlaskForm model.query.all 不及时更新
数据不及时更新就是 类加载问题,因为view文件中调用form的时候,不会触发类属性的,所以要加init文件# 如果不加入__init__函数会导致,SelectedField表单生成只有里面的内容不会和数据库同步(即数据库添加, # 删除字段时表单中数据项和初始化时一致.下一次重启app是才会同步)class MovieForm(FlaskForm): tag_id = SelectField( label="标签", validators=[..原创 2020-09-03 17:27:36 · 460 阅读 · 0 评论 -
python循环remove元素
循环删除列表中元素时千万别用正序遍历,一定要用反序遍历!废话不多说,先上案例代码:def test(data): for i in data: data.remove(i) return datadata = [1, 2, 3]print(test(data))面对以上代码,乍一看以为会打印出空列表,因为test函数内通过for的方法将data中的元素都删除了,其实不然,实际输出如下:[2]为什么会产生这种结果呢...原创 2020-09-02 10:00:46 · 1765 阅读 · 1 评论 -
Python Selenium IE 上传文件和 处理网页对话框showModalDailog模态对话框
1.上传文件---不墨迹,直接上代码for upload_file in upload_file_list: # 选择文件 ActionChains(self.dr).move_to_element_with_offset(flash_obj, 50, 12).click().perform() time.sleep(1) EditControl(ClassName="Edit").SendKeys(upload_file) # 一级窗口"#32770"原创 2020-08-25 16:39:41 · 2103 阅读 · 8 评论 -
Python 多线程 ThreadPoolExecutor 实际应用总结 结合SAP
from concurrent.futures import ThreadPoolExecutor这个网址是官方文档对concurrent. futures的解释:https://docs.python.org/zh-cn/3/library/concurrent.futures.htmlPython中已经有了threading模块,为什么还需要线程池呢,线程池又是什么东西呢?在介绍线程同步的信号量机制的时候,举得例子是爬虫的例子,需要控制同时爬取的线程数,例子中创建了20个线程,而同时只允许3个.原创 2020-07-20 15:02:38 · 1110 阅读 · 0 评论 -
Pyinstaller 打包selenium项目 生成包含chromedriver 的exe文件
pyinstaller 打包selenium项目,需要再同级目录中添加 浏览器驱动,否则会报错。然而在Pyinstaller -F main.py 时 --add-data=chromedriver不支持,所以就会很不方便,在你转发main.exe文件时,还要附带一个驱动,下面是我的解决方案,直接在spec文件中添加驱动,重新打包,ok修改完配置后,直接Pyinstaller -F main.spec ....完成 打出来的exe只会比之前的多出来大约1024*3kb...原创 2020-07-10 18:01:03 · 7197 阅读 · 7 评论 -
Python CPU 多核心 多进程 多线程 协程 超线程
电脑CPU是电脑的核心,CPU是中央处理器,是电脑进行线程调度的关键,可以通过查看电脑CPU性能个数可以判定电脑的性能。CPU个数即CPU芯片个数。 (下图是单CPU双核心 逻辑核心4个{超线程技术})CPU内核是CPU中间的核心芯片,由单晶硅制成,用来完成所有的计算、接受/存储命令、处理数据等,是数字处理核心。核心(Die)又称为内核,是CPU最重要的组成部分。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受/存储命令、处理数据都由核心执行。各种CPU原创 2020-06-08 20:32:40 · 1586 阅读 · 0 评论 -
Python GC策略-垃圾回收
Python采用的是引用计数机制为主,标记-清理和分代收集两种机制为辅的策略。1、引用计数python中一切皆对象,所以python底层计数结构地就可以抽象为:引用计数结构体{引用计数;引用的对象}是不是简单明了。现在我们先去考虑一下,什么情况下引用计数+1,什么情况下-1,当引用次数为0时,肯定就是需要进行回收的时刻。 引用计数+1的情况 1、对象被创建时,例如 mark="帅哥"2、对象被copy引用时,例如 mark2=mark,此时mark引用计数+13、对象原创 2020-05-19 09:14:33 · 777 阅读 · 0 评论 -
Python 解释器详解
python基本运行机制解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。所以,解释型语言其实也有编译过程,只不过这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码执行过程原理执行py文件,将会启动Python解释器。 Python解释器的编译器会将py文件编译为字节码(PyCodeObject字节码对象)存放再内存中,供虚拟机(CPU)执行。 Python解释器的虚拟机将执行内存中的字节码对象(P原创 2020-05-12 10:20:58 · 584 阅读 · 0 评论 -
MySQL慢查询筛查
慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。1. 慢查询日志开启查看是否开启:show variables like ...转载 2020-05-08 17:13:21 · 169 阅读 · 0 评论 -
python GC详解 分代+标记清理+计数
Python采用的是引用计数机制为主,标记-清理和分代收集两种机制为辅的策略。1、引用计数python中一切皆对象,所以python底层计数结构地就可以抽象为:引用计数结构体{引用计数;引用的对象}是不是简单明了。现在我们先去考虑一下,什么情况下引用计数+1,什么情况下-1,当引用次数为0时,肯定就是需要进行回收的时刻。 引用计数+1的情况 1、对象被创建时,例...原创 2019-12-10 16:15:36 · 435 阅读 · 0 评论 -
python apply 抛出异常
apply函数是遍历,当apply(fun)的过程中,当fun有抛出异常的情况,探讨一下抛出异常的过程当第一次遍历的时候,不会直接raise1第一次执行时 apply_standard 函数会截获这个异常接下来 会使用序列生成器计算结果,并且会从dataframe第一行重新执行,目的是:将报错行所在的位置进行编号,告知程序执行者。如果你的程序执行过程中不予许数据...原创 2019-11-19 19:23:07 · 556 阅读 · 0 评论 -
python 字典转json并保存文件
import requests 2 import json 3 ''' 4 json.loads(json_str) json字符串转换成字典 5 json.dumps(dict) 字典转换成json字符串 6 7 ''' 8 # 这是一个ajax发起的get请求,获取一个json对象 9 r = requests.get("https://m.douban.com/rexx...原创 2019-10-22 15:08:18 · 3410 阅读 · 0 评论 -
Python文本加密 或 文本文件加密
生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库。对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而强化自身的编程能力。基础知识在 Python 中异或操作符为:^,也可以记作 XOR。按位异或的意思是:相同值异或为 0,不同值异或为 1。具体来讲,有四种可能:0 ^ 0 = 0,0 ^ 1...原创 2019-10-17 19:25:21 · 3411 阅读 · 2 评论 -
代替os,Pathlib Python
此处只介绍部分入门功能,想要全部文档,最好去官网查找from pathlib import Pathp = Path()# WindowsPath('.')p.resolve() # 文档显示是absolute path, 这里感觉只能用在获取当前绝对路径上# WindowsPath('C:/Users/Cabby')p = Path(r'...原创 2019-10-17 19:17:15 · 300 阅读 · 0 评论 -
python datetime 时间格式 和 时间字符串互转
# coding=utf8import datetimeprint((datetime.datetime.strptime("2019-04-01", "%Y-%M-%d")).strftime("%Y%M%d"))# "%Y-%M-%d"和"%Y%M%d" 格式必须一样,最好是前两个YM大写 否则会出现时间错乱 # 如果"%Y-%M-%d"和"%Y%m%d" 以"201...原创 2019-08-01 10:34:16 · 243 阅读 · 0 评论 -
pandas dataframe apply(fun) 踩过的坑
我这里的dataframe,只有一行数据当我用dataframe直接调用apply方法并返回一个个series时,会print两次1然而当我只返回一个列值的时候是不会有这个重复的问题的。官方的解释:apply在第一列/行上调用func两次,以决定是否可以进行某些优化。而在pandas==0.18.1以及最新的pandas==0.23.4中进行尝试后发现,这个情况...原创 2019-07-23 20:48:55 · 1988 阅读 · 0 评论 -
Python列表相乘的坑
先举个例子说明一下li = [[]]*5li = [[],[],[],[],[]]li[0].append(10) 结果并不是想要的,会发现列表中的每一个列表元素都会多一个10说明他们不是独立的元素,是li的引用说明一下Python中列表乘法生成列表与直接写出列表的不同列表乘法所生成的大列表中小列表之间的关系是引用,但是确实是真实存在的当使用li【索引】的方式追加或删除元素内的子元素,会连带所...原创 2018-06-15 21:29:00 · 3502 阅读 · 0 评论 -
Python2和Python3的区别
Python2马上就要告别历史舞台了,迎来的将是Python3那么他们有什么主要的区别呢?1.默认字符标准的区别python2中默认的字符串类型默认是ASCII,python3中默认的字符串类型是Unicode 备注:Unicode和utf-8的关系:Unicode是内存编码表示方案(规范),而utf-8是如何保存和传输Unicode的方案(实现)2.字符串类型python中有两种字符...原创 2018-06-13 22:31:59 · 340 阅读 · 0 评论 -
ubantu安装mysql-python==1.2.5失败解决
pip install mysql-python报错 Failed building wheel for mysql-python Running setup.py clean for mysql-pythonFailed to build mysql-pythonerror: command 'x86_64-linux-gnu-gcc' failed with exit status 1无法安装...原创 2018-05-14 09:19:09 · 600 阅读 · 0 评论