from ***import***
eg:from my_module import cal #从my_module引入cal
eg:from cal import * #导入全部
如果导入的文件在很多包下
则 可以:
eg: from web.web1.web2.web3 import cal
eg2:from web.web1.web2.web3.cal import add
eg3:from web.web1 import web3 #执行web3的__inint__文件,这个是唯一不支持的调用方式,不推荐
在执行文件中print(__name__) 输出__main__
在调用文件中print(__name__) 输出文件路径
把if __name__=='__main__': 放到调用代码中使用,则只有在测试的时候才会使用,普通调用不会使用下面的代码
如果把 if __name__=='__main__':放到执行文件中,则表达不想该执行文件被调用主函数
我有个代码名称为 test1.py,它的所在路径为 D: est 下面。那我只需要完成以下步骤就可以把它作为模块 import 到其他代码中了。
- 1.import sys
- 2.sys.path.append("D:\test")
时间模块
import time time.sleep(1)#推迟运行到时间 print(time.time())#时间戳,1970年开始的秒数 print(time.localtime())#把时间戳转化为结构化时间 yday 是代表1年内的第几,相当于time.localtime(time.time()), t=time.localtime() print(t.tm_year)#打印是第几年 print(time.gmtime())#打印的是 世界标准时间,差8小时-UTC print(time.mktime(time.localtime()))#结构化时间转化为时间戳 print(time.strftime('%Y-%m-%d-%X',time.localtime())) #将结构化时间转换成字符串时间 %Y=年 %m=月 %d=日 %X=时分秒 相当于%H %M %S 注意大小写,注意引号 print(time.strptime('2019:12:22:4:22:16','%Y:%m:%d:%X'))#字符串时间转化成结构化时间 x=time.strptime('2019:12:22:4:22:16','%Y:%m:%d:%X') print(x.tm_mon)#取其中的月 print(time.asctime())#将结构化时间转化成固定的字符串表达形式 print(time.ctime())#将时间戳转化成固定的字符串表达形式 import datetime y=datetime.datetime.now() #另一种显示时间到方式 print(y)
随机模块
import random#随机模块 print(random.random())#生成0~1的浮点数 print(random.randint(1,92))#生成一个1到92到整形数[1,92] print(random.randrange(1,92))#生成一个1到91到整数[1,92) print(random.choice('abcdedfdafad'))#随机选取(可迭代对象)的一个值 print(random.sample('abcdafeafa',2))#随机选取2个值 print(random.uniform(2,4))#取2到4之间到浮点数 l1=[1,2,3,4,5] random.shuffle(l1)#打乱l1到顺序 print(l1) def v_code():#验证码程序 ret='' for i in range(5):#循环0,1,2,3,4 共5次 num=random.randint(0,9)#生成0到9随机数字 alf=chr(random.randint(65,122))#生成A到z字母 s=str(random.choice([num,alf]))#在alf与num中随机选择一个,并转化成字符串 ret+=s#字符串拼接 return ret print('验证码为:%s'%v_code())