模块

一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性。模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中。简单的说,可以把模块理解为一个包含了许多强大功能(方法)的包。在python标准库中就包含许多模块,有很多模块内的方法都会被经常使用到。

python模块有什么用?

模块内有许多函数方法,利用这些方法可以更简单的完成许多工作。

模块可以在文件中永久保存代码。在python交互式解释器中操作输入的代码,在退出python时是不会被保存的,而模块文件中的代码是永久存在的。

从实用性方面来说,模块可以跨系统平台使用,只需要Copy代码就可以。比如说,有一个全局对像,会被许多文件使用,这时为了方便把它写入一个模块中,再被调用是最好的方法。

import 语句语法

使用import语句导入模块,import语句语法如下:

import module

关键字 模块名

例如:

import sys #导入math模块

sys.path #调用math模块中的path属性

如果要同时导入多个模块,只需要在模块名之前用逗号进行分隔:

import module1,module2,module3……

import 语句导入模块顺序

在编写代码过程中,我们可能需要多种多样的模块。需要注意的是最好把导入模块放在代码的开头。为什么呢?

解释器在执行语句是,遵循作用域原则。因为这个作用域有关系,如果在顶层导入模块,此时它的作用域是全局的;如果在函数内部导入了模块,那它的作用域只是局部的,不能被其他函数使用。如果其他函数也要用到这个模块,还需要再次导入比较麻烦。

在用import语句导入模块时最好按照这样的顺序:

python标准库模块

python第三方模块

自定义模块

导入模块的几种方法

import

import sys

sys.path

from-import

相对第一种方法来说更加简单,不用写模块名,只需要写方法名

from subprocess import Popen, PIPE

a = Popen(['ls'],stdout=PIPE)

设置别名的方式

个人不推荐这种方法,因为后期会给维护代码增加工作量

import subprocess.Popen as f

a = f(['ls'])

datetime

datetime是python处理日期和时间的标准库

获取当前日期和时间

>>> from datetime import datetime

>>> now = datetime.now() # 获取当前datetime

>>> print(now)

2017-11-09 23:56:48.390000

>>> print(type(now))

datetime 加减

对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以用+和-运算符,不过需要导入timedalta这个类

注意timedelta 中只支持 days、seconds、microseconds

>>> from datetime import datetime, timedelta

>>> now = datetime.now()

>>> print now

2017-11-10 00:04:49.656000

>>> now += timedelta(hours=10)

>>> print now

2017-11-10 10:04:49.656000

>>> now += timedelta(hours=-10)

>>> print now

2017-11-10 00:04:49.656000

获取指定日期和时间

要指定某个日期和时间,我们直接用参数构造一个datetime

>>> from datetime import datetime

>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime

>>> print(dt)

2015-04-19 12:20:00

时间转换

datetime 转换为 timestamp

在计算机中,我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。

你可以认为:

timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00

对应的北京时间是:

timestamp = 0 = 1970-1-1 08:00:00 UTC+8:00

可见timestamp的值与时区毫无关系,因为timestamp一旦确定,其UTC时间就确定了,转换到任意时区的时间也是完全确定的,这就是为什么计算机存储的当前时间是以timestamp表示的,因为全球各地的计算机在任意时刻的timestamp都是完全相同的(假定时间已校准)。

把一个datetime类型转换为timestamp只需要简单调用timestamp()方法:

>>> from datetime import datetime

>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime

>>> dt.timestamp() # 把datetime转换为timestamp

1429417200.0

timestamp转换为datetime

要把timestamp转换为datetime,使用datetime提供的fromtimestamp()方法:

>>> from datetime import datetime

>>> t = 1429417200.0

>>> print(datetime.fromtimestamp(t))

2015-04-19 12:20:00

timestamp也可以直接被转换到UTC标准时区的时间:

>>> from datetime import datetime

>>> t = 1429417200.0

>>> print(datetime.fromtimestamp(t)) # 本地时间

2015-04-19 12:20:00

>>> print(datetime.utcfromtimestamp(t)) # UTC时间

2015-04-19 04:20:00

str转换为datetime

很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:

>>> from datetime import datetime

>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')

>>> print(cday)

2015-06-01 18:19:59

datetime转换为str

如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:

>>> from datetime import datetime

>>> now = datetime.now()

>>> print(now.strftime('%a, %b %d %H:%M'))

Mon, May 05 16:28

python怎么导入时间-python初步学习-import和datetime模块相关推荐

  1. python怎么导入时间-Python的import导入与时间

    一.模块与包 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量.一般用module_name. ...

  2. python怎么导入时间-python模块导入和time模块

    1.模块格式 为了方便管理模块,python中又引了包(Package)这个概念.每个包下面都有一个__init__.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是 ...

  3. python怎么导入时间-Python,模块导入方式和time模块的使用

    一.模块的导入 1. 模块导入会将要导入的文件执行一遍 2. 导入模块的名称就是我们定义的脚本或包的名称 3. 我们导入模块的过程总结就是:在指定的范围内搜索指定名称对 python 脚本或者包,将其 ...

  4. python怎么导入时间-python 插入日期数据到Oracle

    [root@yyjk DATABASE]# cat DBI.py # -*- coding: utf-8 -*- import cx_Oracle import time import datetim ...

  5. python怎么导入视频-python怎么导入数据

    通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件.这个类库中的reader()函数用来导入CSV文件.当CSV文件被读入后,可以利用这些数据生成一个NumPy数组, ...

  6. python怎么导入文件-Python模块导入详解

    定义 模块:用来从逻辑上组织Python代码(变量.函数.类.逻辑)去实现一个功能.本质就是.py结尾的Python文件. 包:用来从逻辑上组织模块的(可以放一堆模块在目录下).本质就是一个目录(必须 ...

  7. python怎么导入视频-Python模块导入详解

    定义 模块:用来从逻辑上组织Python代码(变量.函数.类.逻辑)去实现一个功能.本质就是.py结尾的Python文件. 包:用来从逻辑上组织模块的(可以放一堆模块在目录下).本质就是一个目录(必须 ...

  8. python怎么导入文件-Python文件如何引入?详解引入Python文件步骤

    python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...

  9. python怎么导入包-Python模块导入与包构建最佳实践

    [TOC] 最开始写程序的时候,都是一个文件里输入几行源码(python 的一个 web 框架bottle就特别强调自己是单文件框架).随着程程式变大变复杂,一个文件很难承载如此多的功能,因此将代码拆 ...

最新文章

  1. usaco street race(dfs)
  2. JAVA Thread线程异常监控
  3. Visual C++——无法响应WM_LBUTTONDBLCLK消息(鼠标左键双击)问题解决方案
  4. centos7防火墙操作
  5. 关于javascript作用域
  6. 使用log4j记录日志_使用log4j2免费分配日志记录
  7. ubuntu路由器联网_路由器及其协议简介| 联网
  8. 常州win8如何禁用应用商店_Win8系统当中Windows defnedder安全软件应该如何禁用?...
  9. (八)深入浅出TCPIP之TCP长连接与短连接详解
  10. php分页页数过多隐藏,织梦DEDE中内容页分页数目太多时隐藏方法
  11. 森源电气持续押注光伏 加强市场竞争力
  12. 人脸识别算法二:Fisherface(LDA)
  13. 【java设计模式】之 工厂(Factory)模式
  14. java 非模态_统计图钻取的明细报表在非模态窗口中显示
  15. 自己动手写操作系统2011040101
  16. log4j日志级别配置详解
  17. 【iTools】Xshell使用教程
  18. 科研人员论文投稿邮箱选择的问题
  19. tp5使用RabbitMQ的使用记录
  20. Ant-design 源码分析之数据展示(八)Descriptions

热门文章

  1. HDU 2096 小明A+B(%的运用)
  2. Json模块dumps、loads、dump、load函数介绍
  3. Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型
  4. .NetCore获取Json和Xml格式的配置信息
  5. 12-1054. 求平均值
  6. drozer与adb工具的安装与使用
  7. 【代码笔记】iOS-自定义弹出框
  8. Daily Scrum 11.5
  9. MFC中添加自己定义的消息
  10. Android开发环境搭建全程演示(jdk+eclip+android sdk)