python求5_python5

一、模块

1. 模块定义、用途

模块就是具有一定功能的程序块,实质上模块就是.py格式的文件,每个文件就是一个模块。模块可以把复杂的程序按功能分开,分别用不同的文件名存放。目的是使程序代码能够重用,也使得程序更便于维护。

Python模块分为三类:(1)内置模块;(2)第三方模块;(3)自定义模块。

2. 模块的导入

模块使用前需要先导入,导入的方式常用的有:(1)import + [module name],例如要导入os模块时使用 import os;  (2)from [module name] import [function name].

有些模块的名称很长,可以导入时,给它重新起个简单的名字:import [module name ] as other name.

3.  包的引用

Python的文件有一种组织,就是将几个功能相近的模块可组成一个python包,存放到一个目录结构,通过输入包的路径调用包中模块的变量、函数等。每个包下面都有个初始化文件__init__.py,该文件可以为空,也可以定义相关代码。包的引用有三种方式:(1)import [package name]只能使用初始化文件对象;(2)imoport [package name].[module name]可以使用引用模块的对象;(3) from [package name] import [function name]与第二种方式相同,可以使用引用模块的对象。

4. 常用内置模块:

(1)os 模块

获取当前文件的绝对路径

1 importos

2 base_path=os.path.abspath(__file__)

3 print(base_path)

获取当前文件的父级目录绝对路径

importos

base_path=os.path.dirname(os.path.abspath(__file__))

print(base_path)

(2)sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性

1 importsys

2 print(dir(sys))

运行结果:

['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_getframe', '_home', '_mercurial', '_xoptions', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_coroutine_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'set_coroutine_wrapper', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions', 'winver']

sys.path是一个list,默认情况下python导入文件或者模块的话,他会先在sys.path里找模块的路径。如果没有的话,

程序就会报错。所以我们一般自己写程序的话,最好把自己的模块路径给加到当前模块扫描的路径里。

1 importos,sys

2 base_path=os.path.dirname(os.path.abspath(__file__))

3 sys.path.append(base_path)

(3)time模块

在Python中时间有三种表示方式:

(1)时间戳:时间戳就是从1970年1月1日00:00:00开始按秒计算的偏移量。;

(2)格式化的时间字符串;

(3)时间元组:包含一个时刻各种状态的元组, 包括:年,月,日,时,分,秒,第几周,第几天,夏令时标示。。

返回当前时间的时间戳

1 importtime

2 print(time.time())

运行结果:

1471843632.2690241

将一个时间戳转变为当地时区的时间元组time.localtime([secs]),secs为以秒为单位的参数,当不提供参数时,取本地时间。

importtime

print(time.localtime())

运行结果:

time.struct_time(tm_year=2016, tm_mon=8, tm_mday=22, tm_hour=13, tm_min=35, tm_sec=5, tm_wday=0, tm_yday=235, tm_isdst=0)

我们可以根据偏移找到任何一个需要的量,比如今天是今年的第几天。 程序如下:

importtime

print(time.localtime()[7])

time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。

importtime

print(time.gmtime())

运行结果:

ime.struct_time(tm_year=2016, tm_mon=8, tm_mday=22, tm_hour=5, tm_min=39, tm_sec=44, tm_wday=0, tm_yday=235, tm_isdst=0)

有把时间戳变成时间元组的函数,那么就有把时间元组变为时间戳的函数time.mktime(t),t是一个有九个元素的元组

importtime

t=(2016,8,22,13,35,5,0,235,0)

print(time.mktime(t))

运行结果:

1471844105.0

time.sleep(secs):线程推迟指定的时间运行。单位为秒。

strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定,time.strftime(format[,t])

1 importtime

2

3 strtime = time.strftime("%Y/%m/%d %H:%M:%S",)

4 print(strtime)

5 print(type(strtime))

运行结果:

2016/08/26 11:31:08

time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。

1 importtime

2

3 strtime = time.strftime("%Y/%m/%d %H:%M:%S",)

4 print(strtime)

5 sptime=time.strptime(strtime,"%Y/%m/%d %H:%M:%S")

6 print(sptime)

运行结果:

2016/08/26 11:40:16time.struct_time(tm_year=2016, tm_mon=8, tm_mday=26, tm_hour=11, tm_min=40, tm_sec=16, tm_wday=4, tm_yday=239, tm_isdst=-1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>