模块
通俗的说模块就把一个已经写好的带有可使用的函数的文件,通过文件名进行导入,然后调用里面的函数等来完成所需功能,模块封装了你需要实现功能的代码,使用者只需调用即可,简化代码量,缩短编程时间。
time模块
实例
import time import datatime print("start to sleep...") ##time.sleep时间等待5秒 time.sleep(5) print("wake up ....")
print(time.time()) #时间戳 从1970年1月1号开始到现在一共过去了多少秒 print(time.ctiem()) #输出当前系统时间 print(time.ctime(time.time()-86640)) #将时间戳转为字符串格式
print(time.gmtime(time.time()-86640)) #输出结果time.struct_time(tm_year=2017, tm_mon=8, tm_mday=7, tm_hour=7, tm_min=32, tm_sec=49, tm_wday=0, tm_yday=219, tm_isdst=0)
time_obj=time.gmtime(time.time()-86640) print(time_obj) #根据上面的输出内容进行格式化输出 print(str(time_obj.tm_year) + "-" + str(time_obj.tm_mon) + "-" + str(time_obj.tm_mday)) #结果 2017-8-7 #加上str是因为他们原来是整型的 #用字符串格式化输出 print("%s-%s-%s"%(time_obj.tm_year,time_obj.tm_mon,time_obj.tm_mday) #结果为 2017-8-7 格林威治时间
time.locatime(time.time()-86640)#本地时间(本机时间) time.strftime("%Y-%m=%d %H:%M:%S",time.localtime()) #格式化输出时间可以将time.localtime替换为其他时间 #strftime将给定对象转成给定格式 time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式 #就是上面那个反过来 #表明时间格式转换成struct时间格式
timedata模块
print(datetime.date.today()) #输出格式2016-01-26 print(datetime.date.fromtimestamp(timetime()-86400)) #2016-01-26 将时间戳转换为日期格式 current_time = datetime.datetime.now() print(current_time) #输出2017-08-08 20:33:12.870346 print(current_time.timetuple) #返回struct_time格式 print(current_time.replace())#输出现在时间 print(current_time.replace(1996,5,20))#输出给定时间
print(datetime.datetime.now() )#当前时间print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30
sys模块
import sys print(sys.argv) #在Terminal中输入python 脚本名.py 加参数 if sys.argv[1] == "120" :#假如第一个参数为 120 就输出 gg print("gg") #否则输出.... else : print("....") print(sys.path)#输出模块存放目录
sys.exit(n) 退出程序,正常退出时exit(0) choice = input("quit?") if choice == "y" or choice == "Y": sys.exit("bye") sys.version 获取Python解释程序的版本信息 sys.platform 返回操作系统平台名称 pip.exe 安装模块,详情190 sys.stdout.write("please:") 不换行输出 abc = sys.stdin.read() #对输入的字符输入到abc中,可多行
sys.stdin.red()
>>> cmd = sys.stdin.read() aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >>> print(cmd) Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyboardInterrupt >>> print(cmd) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >>>
abc = sys.stdin.readline() #只能一行
1 sys.argv 命令行参数List,第一个元素是程序本身路径2 sys.exit(n) 退出程序,正常退出时exit(0)3 sys.version 获取Python解释程序的版本信息4 sys.maxint 最大的Int值5 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值6 sys.platform 返回操作系统平台名称7 sys.stdin 输入相关8 sys.stdout 输出相关9 sys.stderror 错误相关
OS模块
1 os.getcwd() 2 获取当前工作目录,即当前python脚本工作的目录路径 3 4 os.chdir("dirname") 5 改变当前脚本工作目录;相当于shell下cd 6 7 os.curdir 8 返回当前目录: ('.') 9 10 os.pardir 11 获取当前目录的父目录字符串名:('..')12 13 os.makedirs('dirname1/dirname2') 14 可生成多层递归目录15 16 os.removedirs('dirname1') 17 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推18 19 os.mkdir('dirname') 20 生成单级目录;相当于shell中mkdir(建立一个新的子目录) dirname(目录名)21 22 os.rmdir('dirname') 23 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir(删除目录) dirname24 25 os.listdir('dirname') 26 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印27 28 os.remove() 29 删除一个文件30 31 os.rename("oldname","newname") 32 重命名文件/目录33 34 os.stat('path/filename') 35 获取文件/目录信息36 37 os.sep 38 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"39 40 os.linesep 41 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"42 43 os.pathsep 44 输出用于分割文件路径的字符串45 46 os.name 47 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'48 49 os.system("bash command") 50 运行shell命令,直接显示51 52 os.environ 53 获取系统环境变量54 55 os.path.abspath(path) 56 返回path规范化的绝对路径57 58 os.path.split(path) 59 将path分割成目录和文件名二元组返回60 61 os.path.dirname(目录名)(path) 62 返回path的目录。其实就是os.path.split(path)的第一个元素63 64 os.path.basename(path) 65 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素66 67 os.path.exists(path) 68 如果path存在,返回True;如果path不存在,返回False69 70 os.path.isabs(path) 71 如果path是绝对路径,返回True72 73 os.path.isfile(path) 74 如果path是一个存在的文件,返回True。否则返回False75 76 os.path.isdir(path) 77 如果path是一个存在的目录,则返回True。否则返回False78 79 os.path.join(path1[, path2[, ...]]) 80 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略81 82 os.path.getatime(path) 83 返回path所指向的文件或者目录的最后存取时间84 85 os.path.getmtime(path) 86 返回path所指向的文件或者目录的最后修改时间
实例解析
利用模块创建目录文件
import os def fff(path): if os.path.isdir(path): print("目录已经存在") else : os.mkdir(path) print("创建成功") a = input("请输入文件名,不能输入特殊字符") fff(a)
进度条
版本一
import time import sys a=0 while a !=100: for i in range(20): a += 5 sys.stdout.write("%d%%|"%(a)) for k in range(i): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.5) sys.stdout.write("\r")#清空本行字符
版本二
for i in range(21): sys.stdout.write("\r") #这里的int(i/20*100)*"*"意思是输出多少个"*" sys.stdout.write("%s%% |%s"%(int(i/20*100),int(i/20*100)*"*")) sys.stdout.flush() time.sleep(0.5)