python
weixin_38180316
这个作者很懒,什么都没留下…
展开
-
djang-restful返回包含关键字的文章列表
restful返回包含关键字的文章列表目前有个需求,需要查询文章标题包含关键词的文章列表,实现方法如下三种:通过重写GenericsAPIView或ViewSet里的get_queryset方法。如:class ContentGenericsView(generics.ListAPIView):‘’’通过重写get_querset来实现模糊查询搜索‘’’pagination_class = MyPageNationspermission_classes = (permissions.原创 2021-07-29 23:19:52 · 133 阅读 · 0 评论 -
选择快速排序
-- coding: utf-8 --@File : p24_choicesort2.py@Author: bruce@Date : 2021/6/10@Desc :def sort(li):'''选择排序基本思想:第一查找最小的一个元素,将元素放在起始位置,再在未排序的队列找到最小数值,并放在已经排序号的末尾时间复杂度是:O(n**2):param li::return:'''if isinstance(li,list): lens = len( li )原创 2021-06-10 21:28:00 · 77 阅读 · 0 评论 -
python的选择排序
# -*- coding: utf-8 -*-# @File : selectsort.py# @Author: bruce# @Date : 2021/5/24# @Desc :再忙也算法1class SelectSort(): ''' python家族万物皆对象,有了对象就有类 ''' def __init__(self, ls): self.ls = ls def sort(self): # 选择排序,记录.原创 2021-05-24 23:10:04 · 84 阅读 · 0 评论 -
Django报“GET /static/jquery-3.5.1.min.js HTTP/1.1“ 404
django在调用jQuery时报如下提示:[13/Nov/2020 06:47:41] “GET /static/jquery-3.5.1.min.js HTTP/1.1” 404 1683解决方法,在settings里配置static静态文件路径:STATIC_URL = '/static/'STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static')]...原创 2020-11-13 06:54:40 · 2987 阅读 · 0 评论 -
Django的timezone国际化
语言指定汉字LANGUAGE_CODE = ‘zh-Hans’时区使用UTC8区TIME_ZONE = ‘Asia/Shanghai’开启国际化USE_I18N = True如果USE_L10N设置为True,则区域设置指定的格式具有更高的优先级USE_L10N = True系统时区USE_TZ = False...原创 2020-11-10 22:19:10 · 79 阅读 · 0 评论 -
django的models注册
django在2.2.0版本中将admin.site.register()改成的装饰器,语法如下:from django.contrib import adminfrom .models import User,Password# Register your models here.@admin.register(User)class UserAdmin(admin.ModelAdmin): pass@admin.register(Password)class PasswordAd原创 2020-10-31 13:58:31 · 230 阅读 · 0 评论 -
使用装饰器实现购物车的日志记录
# __author: xy# __data: 2020/9/29import timechoice_car = {}moneys = 90000money = 0re = moneysli = [ ('bike', 900), ('fly', 800), ('car', 900)]def inital_vale(): for i, v in enumerate(li, 0): m, n = v print(i, m,原创 2020-10-01 23:12:36 · 132 阅读 · 1 评论 -
深入学习python装饰器
装饰器:用于修改其他函数功能的对象,python里一切都是对象,顾装饰器可以是函数也可以是类。函数装饰器:import timefrom functools import wraps# 计算函数的执行时间def use_time(f): @wraps(f) def inner(): start_time = time.time() print(f.__name__ + '正在要执行') f() end_time =原创 2020-09-26 21:20:04 · 60 阅读 · 0 评论 -
pycharm常用快捷键
常用快捷键:Ctrl + / 行注释Ctrl + Alt + I 自动缩进,建议按行缩进,多选看天命Ctrl + F1 显示错误描述或警告信息Ctrl + Alt + L 代码格式化Ctrl + Alt + O 自动导入Tab / Shift + Tab 缩进、不缩进当前行Ctrl+C/Ctrl+Insert 复制当前行或选定的代码块到剪贴板Ctrl + D 复制选定的区域或行到后面或下一行Ctrl + Y 删除当前行Shift + Enter 下一原创 2020-09-26 18:06:51 · 67 阅读 · 0 评论 -
(‘IM002‘, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序‘)
在使用pypyodbc连接sybase时,部分win64系统环境在驱动完好的情况下提示(‘IM002’, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序’),解决方法:安装32位的python。...原创 2020-09-18 23:31:42 · 668 阅读 · 0 评论 -
tkinter 界面跳转
在使用tkinter做简单的gui开发时需要对界面进行跳转管理,如下做了interface。# -*- coding:utf-8 -*-__Author__ = '秦岭'import tkinter# 用于tKinter 的界面转换class Page_Change_Interface(): __obj=None def __new__(cls,*args,**kwargs): if cls.__obj==None: cls.__obj=o原创 2020-09-13 21:20:24 · 1955 阅读 · 0 评论 -
Tkinter 的text使用方法
在GUI里要获取用户的输入时可以使用Entry和Text组件,其中Entry适合单行输入,Text适合多行输入和输出。t1=tkinter.Text(root)t1.get(‘0.0’,‘end’) 获取用户输入的内容,如果需要生成列表,可以使用split(’,’),使用strip(‘\n’)去除首尾的换货t1.instert(‘instert’,'输入的内容‘)t1.delete(‘0.0’,‘end’),删除输入框内容...原创 2020-09-13 20:03:18 · 1041 阅读 · 0 评论 -
python 多个esif不执行原因
最近做个GUI小工具,在for循环里使用了elif语句,当其中一个elif条件使用true时,后面的elif不再执行。arg=[88,66,66,999]for x in arg: a=len(str(x)) if a==7: print(x) elif True: print('第一次打印') print(x) elif True: print('第二次打印') print(x)第.原创 2020-09-13 19:51:17 · 631 阅读 · 0 评论 -
pyinstaller加密和exe速度优化
使用pyinstaller打包exe后发现可以反编译,这对代码的安全产生了影响。可以使用使用pyinstaller --key 123411 my.py 进行加密。在使用此命令时需要安装tinyaes可以使用命令进行安装 pip3 install -i http://pypi.douban.com/simple/ tinyaes --trusted -host pypi.duuban.com,然后使用pyinstaller --key 123411 -w my.py进行打包。之前使用使用-F..原创 2020-09-13 11:09:02 · 1357 阅读 · 0 评论 -
python的Entry传参方法
方法1;通过textvariable属性绑定StringVar()对象参数。from tkinter import StringVarimport Tkintervar=StringVar()root=tkinter.Tk('登录test')win=tkinter.Entry(root,show=None,textvariable=var)print(var)方法2;通过lambda 函数传参,有一次感受到了lambda函数的神奇,后续考虑使用匿名函数传参??from tkinter im原创 2020-09-10 22:24:52 · 2054 阅读 · 3 评论 -
python面向对象之多态
多态:核心理念,不同对象调用相同方法实现不同功能,基于继承和方法重写实现。# -*- coding:utf-8 -*-__Author__ = '秦岭'class Shoes: def __init__(self): pass def size(self): print('尺码25到42')class Man_Shoe(Shoes): def __init__(self): pass def size(原创 2020-09-05 21:22:08 · 88 阅读 · 0 评论 -
python设计之单例模式
单例模式可以大幅度的降低系统资源开销,常驻内存。# -*- coding:utf-8 -*-__Author__ = '秦岭'class Interest_Class: __obj=None __init_flags=True def __new__(cls,*args,**kwargs): if cls.__obj==None: cls.__obj=object.__new__(cls) return .原创 2020-09-05 20:12:23 · 77 阅读 · 0 评论 -
python设计之工厂模式
GOF23设计的工厂模式,对对象进行统一管理和控制# -*- coding:utf-8 -*-__Author__ = '秦岭'# 实现工厂设计模式,对象统一管理和控制class Interest_Class: def __init__(self): pass def creat_class(self,class_name): if class_name=='English_Class': return En.原创 2020-09-05 19:33:53 · 72 阅读 · 0 评论 -
python操作文件、目录大全
一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录:os.removedirs(r“c:\python”)5.检验给出的路径是否是一个文件:os.path.isfile()6.检验给出的路径是否是一个目录:os.path.isdir()7.判断是否是绝对转载 2020-09-05 18:26:20 · 79 阅读 · 0 评论 -
python实现sybase驱动的拷贝
sybase驱动自动从当前目录拷贝到C盘根目录下,配合前文的odbc注册,实现驱动的无障碍安装。# -*- coding:utf-8 -*-__Author__ = '秦岭'import osimport shutil# 获取当前目录def get_dir(): if os.getcwd(): return os.getcwd() else: return False# 拷贝目录def copy_trees(from_dir,to_di.原创 2020-09-05 14:31:42 · 173 阅读 · 0 评论 -
python通过winreg实现sybase的odbc注册
前文讲到要使用odbc,但是odbc注册用得是bat文件,不方便操作。用使用winreg来进行注册表注册。在使用winreg时需要对键值分开来讲,千万别混为一团。如winreg.createkeyex是创建键,winreg.setvaluex是给键设置值。在处理ODBC驱动注册时,需要对dword类型的值特殊处理,其中需要使用到字符串转正数函数。int(‘0x0000002’,16)=2# -*- coding:utf-8 -*-__Author__ = '秦岭'import winreg.原创 2020-09-04 23:15:44 · 173 阅读 · 0 评论 -
python 实现无DSN处理sybase数据
日常工作总是出现重复性工作,我本人特别不喜欢重复劳动,但苦于攻城狮的时间有限,只能自己想办法解决一些重复性修正工作。目标数据库sybase,鲜少的但是被SAP收购了。通过pythong实现客户自助数据修正,确保数据正常流通。先安装sybase的odbc驱动,大家可以百度下,虽然不用配置DSN但是ODBC还是需要的。如下完整代码,因涉及到数据安全敏感信息***代替# -*- coding:utf-8 -*-__Author__ = '秦岭'import pypyodbcclass Datad.原创 2020-09-02 22:06:18 · 203 阅读 · 0 评论 -
python使用pyinstaller生成exe可执行文件
先使用pip install pyinstaller 命令安装打包软件。安装完成后,使用 pyinstaller -v查看版本,以确定是否安装成功。进入到.py项目目录,CD:cd E:\setup使用命令 pyinstaller -F -i autoservice.ico autoservice1.3.py 进行打包生成,其中-f表示生成单个可执行exe文件,-i是指定ico图标,autoservice1.3.py是需要打包的py文件源。更多指令可以使用pyinstaller -h..原创 2020-08-31 21:01:10 · 92 阅读 · 0 评论 -
pip3 install 指定镜像快速安装
pip install默认调用的是国外地址库,下载过程会因为timeout问题导致失败。可以指定国内的豆瓣网络镜像进行下载。如 pip3 install installer 安装时就会因为timeout问题导致失败,将镜像改成豆瓣即可快速下载安装,如:pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com具体使用方法:pip install -i 镜像simple网址 所需要安装..原创 2020-08-31 20:27:14 · 3201 阅读 · 0 评论 -
python报(‘HY000‘, ‘[HY000] [DataDirect][ODBC Sybase Wire Protocol driver]String data code
使用pypyodbc执行result=cur.fetchmany()查询时,抛出(‘HY000’, ‘[HY000] [DataDirect][ODBC Sybase Wire Protocol driver]String data code page conversion failed. Error in column 4.’)根据String data code page conversion failed猜想到可能是字符集问题,如将dsn的字符集进行修正,和sybase的数据库字符集保持一致。如图.原创 2020-08-30 00:05:05 · 952 阅读 · 0 评论 -
@property装饰器的作用
使用@property标记类的方法,后可以作为属性调用,快速实现sat和get方法class Student: # 构造函数,私有化变量 def __init__(self,name,score): self.__name=name self.__score=score @property def score(self): return self.__score @score.setter def原创 2020-08-25 21:44:35 · 629 阅读 · 1 评论 -
python神奇的lambda和匿名函数
神奇的lambda和匿名函数,lambda的使用方法:lambda 参数:表达式,默认返回表达式的值;匿名函数的使用方法:f[def1,def2]# -*- coding:utf-8 -*-# 神奇的lambda和匿名函数,lambda的使用方法:lambda 参数:表达式,默认返回表达式的值;匿名函数的使用方法:f[def1,def2]l=lambda a,b,c: a*b*c'''简单的lambda函数乘法计算'''print(l(2,3,6))def test1(string):原创 2020-08-24 21:26:09 · 76 阅读 · 0 评论 -
字符串的比较
字符串存储在内存中时由三部分组成,id、type、value,在字符串的比较,‘==’、“!=”比较的时value,is比较的是id,当id相等时value肯定相等,反之不一定。a='value'b='value'print(a==b)print(a is b)输出结果:TrueTrue...原创 2020-08-22 18:00:45 · 67 阅读 · 0 评论 -
字符串拼接‘+’和join性能对比
'+’和join均可用于字符串的拼接,当遇到数量级(超过10万次交换时)的拼接时需要使用joinimport timetime1=time.time()a=''for i in range(100000): a+='fire'time2=time.time()print(time1-time2)# 使用join拼接time1=time.time()li=[]for i in range(100000): li.append('fire')a="".join(li)ti原创 2020-08-22 17:35:24 · 289 阅读 · 0 评论 -
python字符串格式化
python的字符串格式化和对齐# -*- coding:utf-8 -*-# 索引格式化,{0},{1},{2}s='我的名字是{0},我喜欢的颜色是{1}'.format('小王','蓝色')print(s)# 参数格式化,赋值时需要按参数名进行赋值,参数在赋值时本身不需要s='我的名字是{name},我喜欢的颜色是{color},我是参数赋值'.format(name='小王',color='蓝色')print(s)# 数字格式的填充和对齐,^<>分别是居中对齐、左原创 2020-08-22 16:17:12 · 56 阅读 · 0 评论 -
python实现指定网页的打开和关闭
firefox浏览器在使用taskklill命令是需要强制关闭进程,需要带上/F。# -*- coding:utf-8 -*-import os,timeimport webbrowser# 定义打开web函数def open_web(i,j,url): m=0 while m<j: n=0 while n<i: webbrowser.open(url) print(m,n)原创 2020-08-21 20:32:48 · 1472 阅读 · 1 评论