把老师的资料放在最上面:

参考: http://www.cnblogs.com/yuanchenqi/articles/5732581.html

导入模块的方法:

#!/usr/bin/env python
# coding:utf-8 # import cal,time # 可以使用,隔开,导入多个。
## import 做了两件事:
# 1. 执行对应文件
# 2. 引入变量名 # print(cal.add(3,5))
# print(cal.sub(3,5)) ## from cal import * #不建议这么使用。 并不知道里面有哪些函数 #
# from cal import add # 这种导入方法,可以直接使用函数
# from cal import sub
#
#
# print(add(5,8))
# print(sub(6,5))
#!/usr/bin/env python
# coding:utf-8 ## 模块的种类 :
# 1. 内置模块
# 2. 第三方模块
# 3. 自定义模块 # time 和 sys 模块是内置在python解释器内的,找不到相应的文件; 而os re 等模块,则在python36/Lib目录下,以文件形式存在。 ### 包 和 文件夹 的区别: 是否有 __init__.py 文件 # from web.web2.web3 import p2w
#
# print(p2w.p2w(3,3))
import sys
sys.path.append("D:/python3") # 临时将某个路径加入 如果需要永久加入,则需要修改环境变量 print(sys.path)
# 导入多级包下的模块 from web.web2.web3.p2w import p2w print(p2w(4,4)) # from web.web2 import web3 # 不支持的调用方式。仅执行 web3 __init__ 文件。 # print(web3.p2w.p2w(3,2))

注意 __name__ 的用法:仅在本文件中执行时,值为"__main__"  被调用时,则值为模块名(文件名)

#!/usr/bin/env python
# coding:utf-8 from my_mod import ma # ma.run() ## 模块的种类 :
# 1. 内置模块
# 2. 第三方模块
# 3. 自定义模块 ### 包 和 文件夹 的区别: 是否有 __init__.py 文件 if __name__ =="__main__": # 假设将当前脚本作为主函数,仅可执行,不允许被调用。 可以避免反复调用带来的坑
ma.run()

导入子文件夹中的模块,注意路径问题:

my_mod下的 ma.py文件:

#!/usr/bin/env python
# coding:utf-8 # import cal # 直接执行本文件时,用此方式导入 # from my_mod import cal # 被上一级调用时,用此方式导入。 import sys,os BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(BASE_DIR)
print(os.path.abspath(__file__)) # 本文件的绝对路径 # 加入项目所在路径, 同时解决本身的运行和被调用时的路径问题。
sys.path.append(BASE_DIR) from my_mod import cal def run():
print(cal.add(7,5)) run()

my_mod文件夹下的cal.py文件:

#!/usr/bin/env python
# coding:utf-8 # print('before...') def add(x,y):
return x+y def sub(x,y):
return x-y # print('end....')
if __name__ == "__main__": # 用于本文件的调试
print('testing....')

random 随机模块:

#!/usr/bin/env python
# coding:utf-8 import random print(random.random()) # (0,1)----float 大于0且小于1之间的小数 print(random.randint(1, 5)) # 大于等于1且小于等于5之间的整数 print(random.randrange(1, 5)) # 大于等于1且小于5之间的整数 print(random.choice([1, '', [4, 5]])) # 随机选一个 print(random.sample([11,22,33,44,55], 2)) # 列表元素任意2个组合
print(random.sample([1, '', [4, 5]], 2)) # 列表元素任意2个组合 print(random.uniform(1, 3)) # 大于1小于3的小数,如1.927109612082716 item = [1, 3, 5, 7, 9,11]
random.shuffle(item) # 打乱item的顺序,相当于"洗牌"
print(item) def v_code(): ## 实现验证码函数
ret = ""
for i in range(6): # 长度6位
num = random.randint(2,9) # 舍掉易混淆的01
alp = chr(random.randint(65,90)) # 只取了大写字母
s = str(random.choice([num,alp]))
# s = str(random.choice([2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z']))
ret += s
return ret print(v_code())

时间模块 time

#!/usr/bin/env python
# coding:utf-8 ### 参考: http://www.cnblogs.com/yuanchenqi/articles/5732581.html import time
import datetime print(time.time()) print(time.localtime()) # 结构化时间, 当地时间
print(time.localtime(1515123456)) # 传入时间戳参数
tm = time.localtime()
print("%s-%s-%s" % (tm.tm_year,tm.tm_mon,tm.tm_mday)) print(time.gmtime()) print(time.mktime(time.localtime())) # 将结构化时间转成时间戳 print(time.strftime("%Y-%m-%d %X",time.localtime())) # 将结构化时间转成字符串时间 print(time.strptime('2018-05-23 07:35:34',"%Y-%m-%d %X")) # 将字符串时间转为结构化时间 print(time.asctime()) # 输出固定格式时间
print(time.ctime()) print(datetime.datetime.now())

python模块之time_random的更多相关文章

  1. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  2. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

  3. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

  4. python 学习第五天,python模块

    一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...

  5. windows下安装python模块

    如何在windows下安装python模块 1. 官网下载安装包,比如(pip : https://pypi.python.org/pypi/pip#downloads) pip-9.0.1.tar. ...

  6. 安装第三方Python模块,增加InfoPi的健壮性

    这3个第三方Python模块是可选的,不安装的话InfoPi也可以运行. 但是如果安装了,会增加InfoPi的健壮性. 目录 1.cchardet    自动检测文本编码 2.lxml    用于解析 ...

  7. Python基础篇【第5篇】: Python模块基础(一)

    模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...

  8. python 模块加载

    python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...

  9. pycharm安装python模块

    这个工具真的好好,真的很喜欢,它很方便,很漂亮,各种好 pycharm安装python模块:file-setting-搜索project inte OK

随机推荐

  1. 如何利用redis来进行分布式集群系统的限流设计

    在很多高并发请求的情况下,我们经常需要对系统进行限流,而且需要对应用集群进行全局的限流,那么我们如何类实现呢. 我们可以利用redis的缓存来进行实现,并且结合mysql数据库一起,先来看一个流程图. ...

  2. vue2 inheritAttrs、attrs和attrs和listeners使用

    inheritAttrs.attrs和attrs和listeners使用场景: 组件传值,尤其是祖孙组件有跨度的传值. (1)inheritAttrs 属性说明:https://cn.vuejs.or ...

  3. Promise的两种处理异步的方式

    单个异步处理: let usedMemoryPromise = fetchUsedMemeory(); usedMemoryPromise.then(data => {...}) functio ...

  4. hadoop知识点总结

    (一).hadoop的内置数据类型都实现了writablecompareable,以便序列化和网络传输及文件存储 a自定义数据类型作为输入 1.实现writable接口 2.如果给数据需要比较大小时, ...

  5. Vue.js错误: Maximum call stack size exceeded

    这几天正自学Vue, 用eggjs + vue 采用前后分离,写一个网站练练手. 增加了一个商品详情页 Detail.vue的时候,点击进入Detail.vue的时候,页面显示空白,打开浏览器调试工具 ...

  6. java Data、String、Long三种日期类型之间的相互转换

    java Data.String.Long三种日期类型之间的相互转换      // date类型转换为String类型   // formatType格式为yyyy-MM-dd HH:mm:ss// ...

  7. gevent模块学习(三)

    3. Group类,常用于不限制数量的管理异步任务的分组且可搜集运行结果 g = gevent.pool.Group(*args) -> Group 说明: 创建一个组对象,其实就是一个不限gr ...

  8. CloudStack 云计算平台框架

    前言 CloudStack 和OpenStack 一样都是IaaS层 开源框架,可以管理XenServer.ESXI.KVM.OVM等主流虚拟机,相对OpenStack比较简单.稳定: 二.Cloud ...

  9. 学号 2018-2019-20175212 实验一 《Java开发环境的熟悉》

    学号 2018-2019-20175212 实验一 <Java开发环境的熟悉> 一.实验内容及步骤 1.使用JDK编译.运行简单的Java程序 mkdir 20175212exp1创建20 ...

  10. windows—IOCP

    一.重叠I/O回声服务器端 服务端: #include <stdio.h> #include <stdlib.h> #include <WinSock2.h> #d ...