python-time模块、sys模块、os模块以及大量实例

时间:2023-03-09 19:17:56
python-time模块、sys模块、os模块以及大量实例

模块

通俗的说模块就把一个已经写好的带有可使用的函数的文件,通过文件名进行导入,然后调用里面的函数等来完成所需功能,模块封装了你需要实现功能的代码,使用者只需调用即可,简化代码量,缩短编程时间。

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 就输出 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()
#只能一行
         sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdin 输入相关
sys.stdout 输出相关
sys.stderror 错误相关

OS模块

         os.getcwd()
获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname")
改变当前脚本工作目录;相当于shell下cd os.curdir
返回当前目录: ('.') os.pardir
获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2')
可生成多层递归目录 os.removedirs('dirname1')
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname')
生成单级目录;相当于shell中mkdir(建立一个新的子目录) dirname(目录名) os.rmdir('dirname')
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir(删除目录) dirname os.listdir('dirname')
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove()
删除一个文件 os.rename("oldname","newname")
重命名文件/目录 os.stat('path/filename')
获取文件/目录信息 os.sep
输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" os.linesep
输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" os.pathsep
输出用于分割文件路径的字符串 os.name
输出字符串指示当前使用平台。win->'nt'; Linux->'posix' os.system("bash command")
运行shell命令,直接显示 os.environ
获取系统环境变量 os.path.abspath(path)
返回path规范化的绝对路径 os.path.split(path)
将path分割成目录和文件名二元组返回 os.path.dirname(目录名)(path)
返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path)
返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False os.path.isabs(path)
如果path是绝对路径,返回True os.path.isfile(path)
如果path是一个存在的文件,返回True。否则返回False os.path.isdir(path)
如果path是一个存在的目录,则返回True。否则返回False os.path.join(path1[, path2[, ...]])
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getatime(path)
返回path所指向的文件或者目录的最后存取时间 os.path.getmtime(path)
返回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)