
python
GiveMeFive_Y
这个作者很懒,什么都没留下…
展开
-
关于python logging模块日志记录与oss模块文件上传的问题
最近在做http使用POST请求上传图片到阿里云对象存储oss的时候发生一件很诡异的事情!我的环境是python3.5+django11.6+gunicorn部署的web后台服务,settings文件logging配置如下:LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': {原创 2017-11-30 16:06:46 · 883 阅读 · 0 评论 -
python算法习题(五):单词拆分
1. 题目给一字串s和单词的字典dict,在字串中增加空格来构建一个句子,并且所有单词都来自字典。 返回所有有可能的句子。 样例: 给一字串lintcode,字典为[“de”, “ding”, “co”, “code”, “lint”] 则结果为[“lint code”, “lint co de”]。2. 思路a. 使用排列组合算法得出所有拆分情况,再判断每一项是否在给定字典里...原创 2018-04-09 10:25:51 · 3499 阅读 · 0 评论 -
python算法习题(六):LFU缓存
1. 题目LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。 实现LFU中的set 和 get。 样例 capacity = 3set(2,2) set(1,1) get(2) => 2 get(1) => 1 get(2) => 2 set(...原创 2018-04-09 15:17:33 · 1207 阅读 · 0 评论 -
python算法习题(七):大楼轮廓
1. 题目水平面上有 N 座大楼,每座大楼都是矩阵的形状,可以用一个三元组表示 (start, end, height),分别代表其在x轴上的起点,终点和高度。大楼之间从远处看可能会重叠,求出 N 座大楼的外轮廓线。外轮廓线的表示方法为若干三元组,每个三元组包含三个数字 (start, end, height),代表这段轮廓的起始位置,终止位置和高度。 注意事项: 请注意合并同样高...原创 2018-04-10 10:00:10 · 999 阅读 · 0 评论 -
python算法习题(十):木材加工
1. 题目有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目至少为 k。当然,我们希望得到的小段越长越好,你需要计算能够得到的小段木头的最大长度。 注意事项 木头长度的单位是厘米。原木的长度都是正整数,我们要求切割得到的小段木头的长度也要求是整数。无法切出要求至少 k 段的,则返回 0 即可。样例: 有3根木头[232, 124, 456], ...原创 2018-04-16 15:24:57 · 3204 阅读 · 1 评论 -
python 元类和ORM
> 元类元类就是创建类的类,主要作用就是拦截类的创建,然后修改一些特性,最后返回该类。 首先认识一下python地内建元类——type。主要用于动态地创建一个类,当然还有常用的查看对象类型功能。 语法如下: type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))class testClass(): passclass testChil...原创 2018-04-03 17:17:54 · 611 阅读 · 0 评论 -
python3.6 添加tab键功能
1. 编辑文件 # vim /usr/lib/python3.6/site-packages/tab.py 1import sys,readline,rlcompleter,atexit,os 2 3 readline.parse_and_bind('tab: complete') 4 histfile = os.path.join(os.environ['HOME...原创 2018-04-17 10:27:55 · 1500 阅读 · 0 评论 -
python算法习题(四): 添加运算符
1. 题目给定一个仅包含数字 0 - 9 的字符串和一个目标值,返回在数字之间添加了 二元 运算符(不是一元)+, - 或 * 之后所有能得到目标值的情况。 样例: “123”, 6 -> [“1+2+3”, “1*2*3”] “232”, 8 -> [“2*3+2”, “2+3*2”] “105”, 5 -> [“1*0+5”,”10-5”] “00”, 0 -...原创 2018-04-04 17:33:20 · 1558 阅读 · 0 评论 -
python算法习题(一): 排列组合
排列组合的常见算法应该是枚举,但是对于长度较长的集合并不适用。网上也有用递归实现的方式,暂时不做介绍。这里想法是位置交换。def permutation(inpt): length = len(inpt) tmp = inpt.copy() while True: for i in range(0, length-1): tm...原创 2018-03-29 17:05:52 · 2074 阅读 · 0 评论 -
python算法习题(二): 递归算法
列举两个经典应用:1. 斐波那契数列递归算法实现def fib1(N): if N == 1: return 1 elif N == 2: return 1 else: return fib1(N-1) + fib1(N-2)不用递归实现:def fib2(N): a = 1 ...原创 2018-03-29 17:15:33 · 1967 阅读 · 0 评论 -
python算法习题(八):单词接龙 II
1. 题目给出两个单词(start和end)和一个字典,找出所有从start到end的最短转换序列 比如: 每次只能改变一个字母。 变换过程中的中间单词必须在字典中出现。 注意事项 所有单词具有相同的长度。 所有单词都只包含小写字母。样例 给出数据如下: start = “hit” end = “cog” dict = [“hot”,”dot”,”dog”...原创 2018-04-13 10:18:25 · 1995 阅读 · 0 评论 -
python算法习题(九):最小危险值路径
1. 题目地图上有 m 条无向边,每条边 (x, y, w) 表示位置 x 到位置 y 的权值为 w。从位置 0 到 位置 n 可能有多条路径。我们定义一条路径的危险值为这条路径中所有的边的最大权值。 请问从位置 0 到 位置 n 所有路径中最小的危险值为多少? 注意事项 1 <= m <= 500,1 <= n <= 50,0 <= x, y...原创 2018-04-13 10:47:53 · 2068 阅读 · 0 评论 -
python算法习题(三): 链表反置
class Node(): def __init__(self, data): self.data = data self.next = None构造链表:def makeLinkList(num): head = None for i in range(num): tmp = Node(i) if...原创 2018-03-29 17:45:18 · 378 阅读 · 0 评论 -
Windows10 :Apache + Python3.6 + Django 部署网站
1. 安装python-3.61.1 下载安装包 1.2 点击安装,选择安装目录(一路NEXT) 1.3 修改系统环境变量 1.4 打开CMD,输入“python”。如果正常启动说明安装成功。2. 安装apache-2.42.1 下载压缩包 2.2. 解压到指定目录 2.4 修改配置文件httpd.conf...ServerRoot "d:/Apac...原创 2018-03-23 18:28:56 · 3998 阅读 · 1 评论 -
阿里云Python-SDK管理安全组和RDS实例IP白名单
安装SDK#pip install aliyun-python-sdk-rds #pip install aliyun-python-sdk-ecs代码示例:#!/usr/bin/env python# coding=utf-8from aliyunsdkcore import clientfrom aliyunsdkecs.request.v20140526 import Descr原创 2017-12-01 16:00:25 · 2651 阅读 · 2 评论 -
Django: 设置'unique_together'不起作用
最近做项目的时候在设置model的时候, 原本想category", "version", "school"三个字段联合唯一,代码片段如下:class Update(models.Model): # # 记录ID # id = models.BigIntegerField(auto_increase) # 资源类型 category = models.CharFie原创 2017-12-22 10:16:48 · 4994 阅读 · 0 评论 -
MongoDB安装及pymongo模块的使用
1. 安装mongodb $ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.2.tgz #centos7版本 $ mkdir -p /data/db //需要手动创建数据目录 $ tar -xvf mongodb-linux-x86_64-rhel70-3.6.2.tgz $ mv mo原创 2018-01-24 09:29:15 · 1701 阅读 · 0 评论 -
关于webserver大文件下载之客户端和服务端
直接贴示例代码: 1. 服务端代码:from rest_framework.response import Responsefrom django.http.response import StreamingHttpResponsedef file_iterator(file_name, chunk_size=512): with open(file_name, 'rb') as f:原创 2018-01-16 11:44:22 · 772 阅读 · 0 评论 -
Nginx + Gunicorn + Django 部署web服务
安装nginx #yum install nginx修改nginx配置文件 #vim /etc/nginx/nginx.confworker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections原创 2018-01-16 11:21:14 · 606 阅读 · 0 评论 -
Python调用C库文件的两种方法
1. 使用dlopen函数调用库文件然后编译成python扩展库1) $ vim func.c#include int sum(int a, int b){ printf("%d+%d=", a, b); return a+b;}2)$ gcc -o libfunc.so -shared -fPIC func.c3) $ vim mydlopen.c#原创 2018-01-26 15:32:39 · 13982 阅读 · 0 评论 -
Django-oauth2模块安装配置及使用client_credentials和password方式认证
1. 安装模块#pip install django-oauth-toolkit djangorestframework 适配版本如下:Django=1.11.6 django-oauth-toolkit=1.0.0 djangorestframework=3.7.72. 修改配置文件#vim setting.py...INSTALLED_APPS = [ 'django.con...原创 2018-02-08 17:46:35 · 2040 阅读 · 0 评论 -
如何优雅地将多个字典里中相同键的值整合成列表
示例字典:d = [ {"time": "09:00", "dt":{"key1": "a", "key2": "d", "key3": "g"}}, {"time": "10:00", "dt":{"key1": "b", "key2": "e", "key3": "h"}}, {"time":"11:00", "dt":{"key1": "c", "key2原创 2018-01-30 12:05:01 · 8070 阅读 · 0 评论 -
python3.5 使用pip命令离线打包及安装
1. 从A机器上将某个模块打包成安装包$pip3 download arrow -d /tmp/packages/2. 从A机器上将全部python环境打包$pip3 freeze >requirements.txt # 查询安装模块$pip3 download -r requirements.txt -d /tmp/packages/ # 推荐使用或者:$pip...原创 2018-03-07 16:55:22 · 4549 阅读 · 1 评论 -
python 自定义安装包
1.编写setup.py文件from distutils.core import setupsetup(name = 'mytest', version = '1.1', py_modules = ['mytest'], install_requires=['arrow>=0.10.0'], )setup.py各参数介绍:–na...原创 2018-03-08 18:13:18 · 1512 阅读 · 0 评论 -
CentOS7 :Apache + Python3.6(虚拟环境)+ Django 部署网站
1. 安装Python-3.6# yum install openssl-devel zlib zlib-devel -y # 安装相关扩展包# wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz# tar- xvf Python-3.6.4.tgz# cd Python-3.6.4# ./configure ...原创 2018-03-15 18:12:21 · 1782 阅读 · 0 评论 -
Python 对数据库中已存在的表作ORM操作的两种方法
数据库表结构如下: 第一种方式:代码如下:from sqlalchemy.ext.automap import automap_basefrom sqlalchemy.orm import sessionmakerfrom sqlalchemy import create_engineengine = create_engine('mysql+pymysql://root...原创 2018-05-25 19:32:51 · 4067 阅读 · 0 评论