python模块怎么用(python如何写模块)
Python 中 logging 模块使用详情
在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节;同时,当程序出问题时,我们也可以通过日志快速定位问题所在。在我们写程序时,也可以借助 logging 模块的输出信息来调试代码。
但是很多人还是在程序中使用print()函数来输出一些信息,比如:
这样用的话缺点很明显,当程序写好运行时,我们要把这些print()函数删掉,在简单的的程序中用还行,当程序比较复杂时,这个办法很低效。
如果使用 logging 模块,看看效果
运行结果如下:
你也许会问,这和 print() 函数有什么区别呢?区别就在于,logging模块可以通过改变level来控制一些语句是否被输出,比如当我们把level改成DEBUG级别:
得到输出如下:
logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。有5个level,分别是debug,主要是查看一下程序运行的信息,一般是调试程序要看的信息;info,是我们看程序是否如预料执行的信息;warn,意料之外的,但是不影响程序运行; error 和 critical 就是一些比较严重的问题,会影响程序运行。默认leval是warn,这个时候debug级别和info级别就不会被输出到日志里了。如果想要看到这些信息,就需要进行一些设置。
我们主要调用 basicConfig(***kwargs*) 这个函数对 logging 进行设置。
常用的参数如下:
我们通过调整format,可以输出我们想要的格式,比如:
结果是:
这就是在 format 参数中设置了时间的,所以得到了时间,我们可以输出多种想要的信息
总结:
本文主要介绍了 logging 模块的基础用法,除非是自己写的小脚本中我们使用print()函数,其他情况下最好还是用logging模块来打印信息,输出日志吧。
【Python】xlrd模块使用
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库
安装:pip install xlrd
导入:import xlrd
打开excel文件:xlrd.open_workbook(filename)
如果路径或者文件名中有中文的话,加上r即可: xlrd.open_workbook(r"filename")
获取所有sheet名:sheet_names( )。将所有的sheet名存放到数组中输出
根据sheet索引或者名称获取每张sheet表里的数据内容:sheet_by_index( 索引值 )、sheet_by_name("sheetname")。
excel里的索引值都从0开始
这俩输出结果是一致的
获取指定sheet页的名称、行数、列数
获取整行的值:row_values( 索引值 )? ? ? 获取整列的值:col_values( 索引值 )? —— 都以数组形式返回数据
此处注意,我们输出结果里面数字是保留了一位小数的,那如果我们想直接输出整数如何处理呢?百度了好久都需要自己写个函数转一下,能更改excel里的数据格式直接读出来就是int型吗?而且我发现,如果直接读取那个数据其实是int型,但是写入数组里就变成浮点型了,谁能告知一下
获取单元格对象:cell( 行的索引值,列的索引值 )
获取单元格值的数据类型:cell( 行的索引值,列的索引值 ).ctype
ctype返回值对应的数据类型是: 0 - empty, 1 - string, 2 - number, 3 - date, 4 - boolean, 5 - error
获取某个单元格的值:cell_value( 行的索引值,列的索引值 )/cell( 行的索引值,列的索引值 ).value/row(?行的索引值?)[ 列的索引值 ].value
如何使用和制作 Python 安装模块
Python模块的安装方法:
1. 单文件模块:直接把文件拷贝到$python_dir/lib
2. 多文件模块,带setup.py:python setup.py install
3. egg文件,类似Java的jar:
1) 下载ez_setup.py,运行python ez_setup
2) easy_install *.egg
虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装。
setup.py文件的使用:
% python setup.py build #编译
% python setup.py install #安装
% python setup.py sdist #制作分发包
% python setup.py bdist_wininst #制作windows下的分发包
% python setup.py bdist_rpm
setup.py文件的编写:
setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。
简单的例子:
setup.py文件:
from setuptools import setup, find_packages
setup(
name="mytest",
version="0.10",
description="My test module",
author="Robin Hood",
url="",
license="LGPL",
packages= find_packages(),
scripts=["scripts/test.py"],
)
mytest.py文件:
import sys
def get():
return sys.path
scripts/test.py文件:
import os
print os.environ.keys()
setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。
在Python中如何使用pygame模块?
这个很简单,首先要安装,命令如下:pip install pygame
然后使用,代码如下:
import pygame
import sys
#初始化
pygame.init()
size=width,height=1000,800
speed=[-5,3]
bg=(0,0,0)
#创建窗口大小
screen=pygame.display.set_mode(size)
#窗口标题
pygame.display.set_caption("跳动的足球")
#图片
a=pygame.image.load("111.png")
#获得图像的位置矩形
position =a.get_rect()
while True :
for event in pygame.event.get():
if event.type ==pygame.QUIT:
sys.exit()
#移动图像
position=position.move(speed)
if position.left0 or position.rightwidth:
#翻转
a=pygame.transform.flip(a,True,False)
#反向移动
speed[0]=-speed[0]
if position.top0 or position.bottomheight:
speed[1]=-speed[1]
screen.fill(bg)
screen.blit(a,position)
pygame.display.flip()
pygame.time.delay(10)