info

在输出中打印Python版本

久未见 提交于 2020-02-25 16:17:40
如何从脚本中打印当前Python安装的版本号? #1楼 尝试 python --version 要么 python -V 这将返回终端中的当前python版本。 #2楼 尝试 import sys print(sys.version) 这将打印完整版本信息字符串。 如果您只想要python版本号,那么 BastienLéonard的解决方案 是最好的。 您可能希望检查完整字符串,看看是否需要它或部分字符串。 #3楼 import platform print(platform.python_version()) 要么 import sys print("The Python version is %s.%s.%s" % sys.version_info[:3]) 编辑:我完全错过了 platform.python_version() 方法。 #4楼 import platform print(platform.python_version()) #5楼 import sys 扩展版 sys.version_info sys.version_info(major=3, minor=2, micro=2, releaselevel='final', serial=0) 具体 maj_ver = sys.version_info.major repr(maj_ver) '3' 要么

Python logging模块

谁都会走 提交于 2020-02-24 21:19:29
Good logging practice in Python 这篇介绍地不错,由浅入深 http://victorlin.me/posts/2012/08/26/good-logging-practice-in-python There are different handlers, you can also send records to you mailbox or even a to a remote server. You can also write your own custom logging handler. I’m not going to tell you details, please reference to official documents: Basic Tutorial , Advanced Tutorial and Logging Cookbook . 通过配置设置日志格式 import logging import logging.config logging.config.fileConfig('logging.conf') # create logger logger = logging.getLogger('simpleExample') # 'application' code logger.debug('debug message')

log4j2 日志框架小记

独自空忆成欢 提交于 2020-02-24 21:13:40
这两天开始学习日志框架了, 把常用的学习一下,记录一下。上篇日志写了log4j----- https://www.cnblogs.com/qiaoyutao/p/10995895.html 今天就总结一下log4j2。 错误之处,烦清不吝批评指正。 版权所有,转载注明出处 先来说一下log4j2的特点,根据官方说法,有以下特征。  1. API分离   可以与Log4j实现一起使用,但也可以在其他日志实现(如Logback)之前使用, Log4j2 API与SLF4J相比有几个优点:1。Log4j2 API支持记录 消息 而不只是字符串。 2. Log4j2 API支持lambda表达式。 3. Log4j2 API提供了比SLF4J更多的日志记录方法。 4.除了SLF4J支持的“参数化日志记录”格式之外,Log4j2 API还支持使用java.text.MessageFormat语法以及printf-sytle消息的事件。 5. Log4j2 API提供了LogManager.shutdown()方法。 底层日志记录实现必须实现Terminable接口才能使方法生效。 2. 性能    Log4j 2包含基于LMAX Disruptor库的下一代异步记录器。 在多线程场景中,异步记录器的吞吐量比Log4j 1.x和Logback高18倍,延迟低,Log4j 2明显优于Log4j

HDFS的搭建

我的未来我决定 提交于 2020-02-24 20:09:57
所有的节点都必须做的:(NameNode,DataNode) 1 需要知道hadoop依赖Java和SSH Java 1.5.x (以上),必须安装。安装目录为 /usr/java/jdk1.7.0 1 下载合适的jdk //此文件为64Linux 系统使用的 RPM包 http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.rpm 2 安装jdk rpm -ivh jdk-7-linux-x64.rpm 3 验证java [root@hadoop1 ~]# java -version java version "1.7.0" Java(TM) SE Runtime Environment (build 1.7.0-b147) Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode) [root@hadoop1 ~]# ls /usr/java/ default jdk1.7.0 latest 4 配置java环境变量 #vim /etc/profile //在profile文件中加入如下信息: #add for hadoop export JAVA_HOME =/usr/java/jdk1.7.0 export CLASSPATH =.:

python选课系统作业

最后都变了- 提交于 2020-02-24 19:47:11
# 选课系统# 角色:学校、学员、课程、讲师# 要求:# 1. 创建北京、上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开# 3. 课程包含,周期,价格,通过学校创建课程# 4. 通过学校创建班级, 班级关联课程、讲师# 5. 创建学员时,选择学校,关联班级# 5. 创建讲师角色时要关联学校,# 6. 提供两个角色接口 # 6.1 学员视图, 可以登录,注册, 选择学校,选择课程,查看成绩 # 6.2 讲师视图, 讲师登录,选择学校,选择课程, 查看课程下学员列表 , 修改所管理的学员的成绩 # 6.3 管理视图,登录,注册,创建讲师, 创建班级,创建课程,创建学校# 7. 上面的操作产生的数据都通过pickle序列化保存到文件里分析:角色: 管理员: 注册 登录 创建校区 创建老师 创建课程 老师: 登录 选择教授课程 查看课程下学生 修改学生的成绩 学生: 注册 登录 选择校区 选择课程 查看成绩类: 抽出共有属性方法:Base 学校:School 学员:Student 课程:Course 讲师:Teacher各个类属性和方法:Base: 公用方法: 存数据:save 取数据:select学校: 属性: 学校名字:school_name str 学校地址:school_addr str 开设的课程

PAT_A1016#Phone Bills

夙愿已清 提交于 2020-02-24 16:07:19
Source: PAT A1016 Phone Bills (25 分) Description: A long-distance telephone company charges its customers by the following rules: Making a long-distance call costs a certain amount per minute, depending on the time of day when the call is made. When a customer starts connecting a long-distance call, the time will be recorded, and so will be the time when the customer hangs up the phone. Every calendar month, a bill is sent to the customer for each minute called (at a rate determined by the time of day). Your job is to prepare the bills for each month, given a set of phone call records. Input

eclipse构建及运行maven web项目

╄→尐↘猪︶ㄣ 提交于 2020-02-23 13:51:24
转自:http://blog.csdn.net/maosijunzi/article/details/21160965 1:环境 eclipse indigo, JDK1.6, maven 3.2.1, tomcat7.0.42 2:安装eclipse maven插件 m2eclipse 第一种方法:从网上下载m2eclipse,这个网上有很多下载的地方。然后放到eclipse安装目录的plugins下。 第二种方法:打开eclipse->help->install new software。在work with后输入: http://download.eclipse.org/technology/m2e/releases 。如图: 3:下载maven和tomcat 上apache官网下载maven: http://maven.apache.org/download.cgi 。下载完成后解压即可。 上apache官网下载tomcat: http://tomcat.apache.org/ 。 4:eclipse配置maven window-》prefrences-》maven-》user setting。如图 window-》prefrences-》maven-》installations。如图 5:配置tomcat和maven 进入tomcat_home/conf/tomcat

字典生成式

夙愿已清 提交于 2020-02-23 07:38:14
目录 一、字典生成式 二、zip()方法 一、字典生成式 print({i: i**2 for i in range(10)}) {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81} 二、zip()方法 keys = ['name', 'age', 'gender'] values = ['nick', 19, 'male'] res = zip(keys, values) print(F"zip(keys,values): {zip(keys,values)}") info_dict = {k: v for k, v in res} print(f"info_dict: {info_dict}") zip(keys,values): <zip object at 0x11074c088> info_dict: {'name': 'nick', 'age': 19, 'sex': 'male'} 通过解压缩函数生成一个字典 info_dict = {'name': 'nick', 'age': 19, 'gender': 'male'} print(f"info_dict.keys(): {info_dict.keys()}") print(f"info_dict.values(): {info

分支限界法(1)

主宰稳场 提交于 2020-02-23 03:57:44
分支限界法 分支限界法与回溯法 (1)求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。 (2)搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。 分支限界法的基本思想   分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。 在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。 此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。 常见的两种分支限界法 (1)队列式(FIFO)分支限界法 按照队列先进先出(FIFO)原则选取下一个结点为扩展结点。 (2)优先队列式分支限界法 按照优先队列中规定的优先级选取优先级最高的结点成为当前扩展结点。 一、单源最短路径问题 1 、问题描述 在下图所给的有向图G中,每一边都有一个 非负边权 。要求图G的从源顶点s到目标顶点t之间的最短路径。 下图是用优先队列式分支限界法解有向图G的单源最短路径问题产生的解空间树。其中

Java单体应用 - 常用框架 - 07.Spring MVC - Maven 模块化开发(iot-cloud)

吃可爱长大的小学妹 提交于 2020-02-23 01:47:12
原文地址: http://www.work100.net/training/monolithic-frameworks-spring-mvc-maven-module.html 更多教程: 光束云 - 免费课程 Maven 模块化开发 序号 文内章节 视频 1 概述 - 2 创建根项目(工程) - 3 创建统一的依赖管理模块 - 4 创建通用的工具类模块 - 5 创建领域模型模块 - 6 创建管理后台模块 - 7 创建前端控制台模块 - 8 创建接口模块 - 9 清理、编译、打包 - 10 功能完善 - 11 实例源码 - 请参照如上 章节导航 进行阅读 1.概述 在多人协同开发时,特别是规模较大的项目,为了方便日后的代码维护和管理,我们会将每个开发人员的工作细分到具体的功能和模块上。 随着项目的不断扩大,模块也会越来越多,后续会更加难以维护和扩展,为了应对这种情况后期我们还会采用微服务架构的方式进行开发。 本章节以构建一个 IoT云平台 项目为例,我们可以将模块划分为如下形式: 统一的依赖管理( dependencies ) 通用的工具类( commons ) 领域模型( domain ) 管理后台( admin ) 前端控制台( console ) 接口模块( api ) 整个模块化开发过程主要是在开发思想上稍作了一些转变,只需要按照下面的流程操作即可。 2.创建根项目(工程)