info

python之规范化开发

主宰稳场 提交于 2020-02-13 17:57:16
一、规范化开发 ​ 当前我们是将所有的代码都写到了一个py文件中,如果代码量多且都在一个py文件中,那么对于代码结构不清晰,不规范,运行起来效率也会非常低。 设计项目目录结构 项目目录结构有以下优点: 可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。 可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。 以博客园系统为例: 其中: start.py :项目启动文件。通常将其存放在 bin 文件夹下。 import sys import os BASE_PATH = os.path.dirname(os.path.dirname(__file__))#获取父级目录也就是blog的绝对路径 sys.path.append(BASE_PATH)# 将bolg项目的路径添加到sys.path列表中,这样所有在blog目录下的py文件都可以相互调用,无需在反复添加文件路径 from core import src if __name__ == '__main__': # 防止start.py文件作为模块被别人引用 src.run() settings.py :

二.python3 入门

时光毁灭记忆、已成空白 提交于 2020-02-13 16:32:53
执行python方式 交互器 缺点 程序不能永久保存,主要用于简单的语法测试 文件执行 IDE integrated development environment VIM 经典的linux下的文本编辑器 emacs linux 文本编辑器,比VIM更容易使用 eclipse java ide,支持 python,c ,c++ visual studio 微软开发的ide,python,c++,java,c# notepad++ sublime python开发的 pycharm 是主要用于python开发的ide 变量 标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’) 标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。 有效 标识符名称的例子有i、__my_name、name_23和a1b2_c3。 无效 标识符名称的例子有2things、this is spaced out和my-name。 标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。 常量:数值不变的 变量:数值会变动的量 name = "Alex li" name2 = name #name2和name没关系,指向内存中的Alex li print("My name is",name)

视频类加载swf(二)

若如初见. 提交于 2020-02-13 14:34:33
package net.eidiot.player { import fl.controls.*; import fl.events.SliderEvent; import flash.display.*; import flash.events.*; import flash.geom.Rectangle; import flash.net.URLRequest; /** * SWF播放器 * * @author eidiot (http://eidiot.net) * @date 070613 * @version 0.1.070616 */ public class SWFPlayer extends Sprite { /* 载入MC的显示区域 */ private static const SHOW_X : Number = 20 ; private static const SHOW_Y : Number = 20 ; private static const SHOW_W : Number = 200 ; private static const SHOW_H : Number = 200 ; /* ui */ public var btn1 : Button; public var btn2 : Button; public var fms : TextInput;

python的日志模块:logging;django的日志系统;django日志输出时间修改

不羁的心 提交于 2020-02-13 06:12:18
Django 的log,主要是复用Python标准库中的 logging 模块,在 settings.py 中进行配置 源代码 1、__init__.py包含以下类: StreamHandler Formatter %(name)s Name of the logger (logging channel) %(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL) %(levelname)s Text logging level for the message ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL") %(pathname)s Full pathname of the source file where the logging call was issued (if available) %(filename)s Filename portion of pathname %(module)s Module (name portion of filename) %(lineno)d Source line number where the logging call was issued (if

Python之路【第十七篇】:Django【进阶篇 】

人走茶凉 提交于 2020-02-12 19:54:23
1.Django自带的分页 可以参考: Python之路【第十七篇】:Django【进阶篇 】 你数据量太多的时候页面一下子展示不了,这时就需要用到分页功能。 分批获取数据: models.UserInfo.objects.all()[0:10] models.UserInfo.objects.all()[10:20] 实际自带的可以这样 在view.py中这样: #主页 def index(request): #自动分页 current_page = request.GET.get('page') from django.core.paginator import Paginator,Page,PageNotAnInteger,EmptyPage #PageNotAnInteger页面不是整数时;EmptyPage页面是负数 secfile_list = models.anfu.objects.all() #获取全部数据 paginator = Paginator(secfile_list,10) #每10个一页   # per_page: 每页显示条目数量 # count: 数据总个数 # num_pages:总页数 # page_range:总页数的索引范围,如: (1,10),(1,200) # page: page对象 #增加异常,pagesh是非数字或者负数则跳到第一页

一个图片生成多个尺寸的图片

本秂侑毒 提交于 2020-02-12 18:51:52
/** * 图片显示处理 * * */ public function handleProductsImg(){ //视频列表 $model_video = new VideoModel(); $where = array(); $where[] = array('video_name','neq',''); $where[] = array('video_id','gt',79); $data1 = $model_video->getVideoAll($where); $pro_ids = array_column($data1, 'products_commonid'); // dump($pro_ids); $model_products = new ProductsModel(); $condition = array(); $condition[] = array('products_commonid','in',$pro_ids); $condition[] = array('products_id','neq',108868); // $_SESSION['limit1'] = 0; dump($_SESSION); // dump($_SESSION['limit1']); if (!$_SESSION['limit1']) { $_SESSION['limit1'

Python模块_import语句_from...import 函数名_from ... import *

ⅰ亾dé卋堺 提交于 2020-02-12 15:15:26
Python模块:包含了所有定义的函数和变量的文件,后缀名为 .py 将某些方法存放在文件中,当某些脚本 或 交互式需要使用的时候,导入进去。 导入的文件,就称为模块。导入之后就可以使用导入的文件的函数等功能 import math # 导入 math 库 print(math.exp(1) == math.e) # 导入 exp() 和 e # True import 语句 当解释器遇到 import 语句时,如果模块在 搜索路径 中,则模块会被导入 注:搜索路径是解释器进行搜索的所有目录名的一个列表。 在一个 .py 文件中创建函数,在另一个 .py 文件中导入 func.py # 在 func 模块中定义一个 print_info 函数 def print_info(): print("我是在 func 模块内部的") test.py # 导入 func 模块 import func # 调用自定义的模块函数 func.print_info() # 我是在 func 模块内部的 一个模块只会被导入一次,无论使用多少次 import 语句,都只导入一次 from 模块名 import 语句: from 模块名 import 函数名 或 变量名 导入的不是整个模块,而是 import 后面的函数或变量 注:在调用导入的模块函数使,不使用模块名.函数名 而是 直接使用函数名进行调用

OGG实验:喂奶间隔数据表通过OGG配置同步

為{幸葍}努か 提交于 2020-02-12 11:52:27
我之前在《 使用SQL计算宝宝每次吃奶的时间间隔(数据保障篇) 》中提到数据实时同步的方案,其中有一种是数据表通过OGG进行同步,当时没有详细展开测试,只给了之前学习OGG时的配置示例。由于之前很少接触OGG的管理运维,最近在进行实际测试时遇到些问题,虽然不难,但也是初学者常遇到的问题,所以记录下这个过程。 需求: 将TEST用户下的数据表T_BABY通过OGG进行同步。 环境: 源端:RHEL6.5, IP地址:192.168.1.61 Oracle 11.2.0.4 RAC(2 nodes)+ OGG 12.2.0.2 待同步数据表test.t_baby已有数据 目标端:OEL5.7, IP地址:192.168.1.11 Oracle 11.2.0.3 单实例 + OGG 12.2.0.2 数据表通过OGG配置同步: 1.源端和目标端软件安装部署 2.源端配置 3.目标端配置 4.实验中遇到的问题处理 1.源端和目标端软件安装部署 在源端和目标端都部署OGG 12.2.0.2,使用图形界面安装,默认选择安装完成后自动启动mgr进程,安装截图类似如下: 2.源端配置 首先确认数据库是否处于归档模式,是否开启force logging和数据库最小附加日志: select log_mode,supplemental_log_data_min,force_logging from v

MySQL 8.0版本连接报错:Could not create connection to database server.

拟墨画扇 提交于 2020-02-12 04:20:54
原文: MySQL 8.0版本连接报错:Could not create connection to database server. 准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator-maven-plugin生成代码时,一直报错Could not create connection to database server.如下: [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building songci-serv 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- mybatis-generator-maven-plugin:1.3.5:generate (default-cli) @ songci-serv --- [INFO] Connecting to the Database [INFO] --

Impala & Hive 使用复杂数据类型

自作多情 提交于 2020-02-12 01:38:10
1. 环境 CDH 5.16.1 2. Hive 使用复杂数据类型 2.1 数据格式 1 zhangsan:man football,basketball 2 lisi:female sing,dance 2.2 Hive 建表 create table studentInfo( id int, info map<string,string> comment 'map<姓名,性别>', favorite array<string> comment 'array[football,basketball]' ) row format delimited fields terminated by '\t' --列分隔符 collection items terminated by ',' --array中各个item之间的分隔符 map keys terminated by ':' --map中key和value之间的分隔符 lines terminated by '\n'; --行分隔符 2.3 导入数据 load data local inpath '/opt/module/jobs/student.txt' into table studentInfo; 2.3 执行查询 select * from studentInfo; +-----------------+---------