ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

模块

2021-05-13 09:33:17  阅读:176  来源: 互联网

标签:py random tm 模块 time import cal


模块分为三种:1,python标准库(内置模块)。 2,第三方模块     3,应用程序自定义模块

-自定义模块

import

用import时会先把文件中的命令都执行一边,然后执行需要执行的函数命令。

-执行对应文件

-引入变量名

-import 运行时只能找到当前操作执行文件所在目录

 

例如:在同一个目录(同级目录)下新建一个test.py 和cal.py文件 cal.py内容如下,需要在test.py文件中引入cal.py函数并运用

def add(x,y):
return x+y

def sub(x,y):
return x-y

代码如下:

-代码1:

import cal
print(cal.add(5,3))======>结果是:8
print(cal.sub(5,3))======》结果是:2

-代码2:

from cal import add,sub
print(add(5,3))=====》结果是:8
print(sub(5,3))=====〉结果是:2

例如:*在不同目录下新建一个test.py 和cal.py文件 cal.py内容如下,需要在test.py文件中引入cal.py函数并运用

test.py文件在 day21 lessons文件下而cal.py在 day21 lessons-new-cal.py

def add(x,y):
return x+y

def sub(x,y):
return x-y

代码是:

from new import cal
print(cal.add(5,3))====>结果是8

*不同目录下 例如:new 目录下有2个包(web1, my_module) new--web1--test.py  new--my_module-cal.py-功能

现在想在test.py中调用cal.py中的一个功能

import sys,os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#代码中的os.path.abdpath(__file__) 代表当前文件的绝对路径
#代码中的os.path.dirname()代表上一级路径
sys.path.append(BASE_DIR)

from my_module import cal


if __name__=='__main__':
print(cal.add(3,5))===》结果是8

 

*********************************************

目录 new包下有一个执行文件test.py 以及一个web1 包(web1-web2-web3-cal.py) ,需要在test.py 中运行web3包中的cal.py文件

cal.py 文件内容是:

def add(x,y):
print(x+y)

代码如下:

-代码1

from web1.web2.web3 import cal
cal.add(3,5)===》结果是8

-代码2

from web1.web2.web3.cal import add
add(3,5)====结果是8

不可用代码:

from web1.web2 import web3=====》此代码相当于执行web3 包中的_init_.py

web3.cal.add() 代码会报错

           

if __name__ == '__main__' :下边写的执行代码是对上边所写代码进行测试。若别的文件引用此代码所在的文件中的功能,—__name__ 等于sys.path的执行结果,所以下边代码不会运行

if __name__ == '__main__':

  main run======>此代码代表程序

-python标准库模块

1,time 模块

-time.sleep() 延迟时间

-时间戳 time.time() :做计算

import time
print(time.time())====>1620632052.788367. 代表从1970年到现在一共多少秒

-结构化时间:

time.localtime()--当地时间

print(time.localtime())=====>time.struct_time(tm_year=2021, tm_mon=5, tm_mday=10, tm_hour=15, tm_min=38, tm_sec=23, tm_wday=0, tm_yday=130, tm_isdst=0)
t=time.localtime()
print(t.tm_year)====>结果是:2021 代码意思是:打印年份

time.gmtime()---世界标准时间

print(time.gmtime())====time.struct_time(tm_year=2021, tm_mon=5, tm_mday=10, tm_hour=7, tm_min=47, tm_sec=49, tm_wday=0, tm_yday=130, tm_isdst=0)

-将结构化时间转换成时间戳 time.mktime()

print(time.mktime(time.localtime()))=====>1620633262.0

- 将结构化时间转换为格式化的字符串时间 代码:time.strftime(x,t) x代表格式化的字符串时间 ,t 默认 time.localtime()

%Y代表年。

%m代表月

%d代表日

%X代表时分秒

print(time.strftime('%Y-%m-%d %X'))====>2021-05-10 16:01:28

- 将格式化的字符串时间 转换成 结构化时间代码:time.strptime() 

print(time.strptime('2012:5:10:12:30:05','%Y:%m:%d:%X'))==>time.struct_time(tm_year=2012, tm_mon=5, tm_mday=10, tm_hour=12, tm_min=30, tm_sec=5, tm_wday=3, tm_yday=131, tm_isdst=-1)

-asctime 是将结构化时间转换为字符串时间 有固定格式

import time
print(time.asctime())===>Mon May 10 16:19:14 2021

-ctime 是将时间戳转化为字符串时间 有固定格式

import time
print(time.ctime())====>Mon May 10 16:19:14 2021

-datetime

import datetime
print(datetime.datetime.now())=====>2021-05-10 16:23:25.260349

2,random 模块 随机模块

-random.random()     0-1范围内 浮点类型

import random
print(random.random())====0.9317954898962848

-random.ranint(1,3) #[1,3] 整型 范围是大于等于1,小于等于3整数

print(random.randint(1,3))==结构是1-3内随机数字

-random.randrange(1,3) #[1,3) 范围是:大于等于1,小于3的整数

print(random.randrange(1,3))

-random.choice() 随机选取其中一个元素

print(random.choice([11,22,33]))===》结果是随机出现列表中随机元素

-random.sample(x,y) x代表可迭代对象,y 代表一次出现几个元素

import random
print(random.sample([11,22,33],1))==》[22] 出现一个元素
import random
print(random.sample([11,22,33],2))===》[11,33]出现2个元素

-random.uniform() 任意范围内的浮点型

import random
print(random.uniform(1,3))====此代码是表示随机取1-3范围内的浮点型

-random.shuffle() 改变可迭代对象元素顺序

import random
ret = [1,2,5,6]
random.shuffle(ret)
print(ret)===》[5, 1, 2, 6]

随机验证码 代码如下:

import random
def v_code():
ret = ''
for i in range(5):=====此处代表范围是0,1,2,3,4 即[0,5)
num = random.randint(0,9)
alf = chr(random.randint(65,122))
s =str(random.choice([num,alf]))
ret += s
return ret
print(v_code())====》结果是个5位数的随机码

临时修改系统环境变量,代码如下:

import sys

sys.path.append()

 

3,sys 模块

4,json &pickle 模块

5,os 模块

-os.getcwd 直接获取当前工作目录

import os
print(os.getcwd())=====>结果是:/Users/chen/PycharmProjects/学习/com/wang

-os.chdir()改变当前目录.      os.chdir(.) 当前目录

-os.chdir(‘..‘) 返回上一层

-os.makedirs('dirname1/dirname2')可

 

 

 


-remove

 

 

 

 

 

 

 * logging 模块

*re 模块

 

标签:py,random,tm,模块,time,import,cal
来源: https://www.cnblogs.com/wode110/p/14763180.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有