标准库
是python提供的官方库,是对操作系统的操作库,os库
概念
官方写好的代码,封装成了一个python模块,给开发人员调用
标准库的使用
使用import导入语句,通过该语句导入标准库,或者第三方模块也可使用该语句进行导入
import的语法格式:import 模块名
导入标准库的语法:import os
import os #导入标准库
'''创建一个目录'''
os.mkdir("Chai") #会在当前使用的目录中创建一个子目录
删除目录
import os
os.rmdir("Chai") #删除目录
算出文件创建时的时间戳日期
import os
print(os.path.getctime("main.py")) #不在当前目录,可以使用绝对路径
1577070119.861566 #可以通过百度计算,
时间模块
获取文件创建修改日期
方法一:
import os
import time #导入时间模块
time_stamp = os.path.getctime("main.py") #定义变量time_stamp,值为main.py文件的时间戳
time_date = time.localtime(time_stamp) #使用定义变量的方式,转换时间戳
print(time_date) #输出变量
#运行
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=23, tm_hour=11, tm_min=1, tm_sec=59, tm_wday=0, tm_yday=357, tm_isdst=0)
time结构体(2019年,12月,23号,11时1分59买,一周中第0天,一年中第357天,dst状态(1,白天时间,0:dst无效,标准时间,-1:未知的dst状态)
方法二:
import os #导入标准库
import time #导入时间模块
time_stamp = os.path.getctime("main.py") #定义变量的值为创建main.py文件的时间戳
time_date = time.localtime(time_stamp) #转换文件时间的格式
print(time.strftime("%Y-%m-%d %H:%M:%S", time_date)) #格式化时间日期格式为YYYY-mm-dd HH:MM:SS
格式化以上的时间格式
print(time.strftime("%Y-%m-%d %H:%M:%S", time_date))
2019-12-23 11:01:59
遍历目录中的所有目录和文件
import os #导入标准库
import time #导入时间模块
def listdir(path): #自定义函数listdir(path)
for filename in os.listdir(path):
#定义filename变量的值为os.listdir(path),返回的是列表,列表内包含path目录下所有的目录和文件,仅包含文件名
#filename = main.py
filename = os.path.join(path, filename) #使用join拼接目录路径
#filename = ./main.py
if os.path.isdir(filename): #如果
print("目录:%s" % filename)
listdir(filename)
else:
print("文件:%s" % filename)
listdir("g:/青鸟体系/云计算/python/")
切割字符串显示的方法
以时间字符串为例
import time
'''YYYY-mm-dd HH:MM:SS'''
user_input = input("请输入时间(参考格式YYYY-mm-dd HH:MM:SS):")
date = user_input.split(' ')[0] #以空格切割输入的时间格式,取出切割后的第一段也就是YYYY-mm-dd
date_time = user_input.split(' ')[1] #以空格切割输入的时间格式,取出切割后的第二段也就是HH:MM:SS
print('年月日:%s' % date) #输入出定义的date变量,也就是用户输入格式的第1段
print('时分秒:%s' % date_time) #输除定义的date_time变量,也就是用户输入时间的第2段
#运行
请输入时间(参考格式YYYY-mm-dd HH:MM:SS):2019-12-31 00:00:00
年月日:2019-12-31
时分秒:00:00:00
#结果会使用日期格式之间的空格将字符串切为两段分别是YYYY-mm-dd和HH:MM:SS
输入指定目录和日期,找出该日期之前创建的文件的程序
import time #导入时间模块
import os #导入标准库
''' 年-月-日 时:分:秒 变量复用'''
def listdir(path, date): #自定义函数listdir中有两个参数
for file_name in os.listdir(path): #循环遍历输入目录的所有目录及文件
file_name = os.path.join(path, file_name) #filename变量复用,重新赋值,拼接带路径的文件名
if os.path.isdir(file_name): #判断filename是否为目录(isdir),挨个测试是否为目录,如果是目录执行以下
listdir(file_name, date) #进入检测到为目录的路径,再次遍历子目录中的所有目录及文件,以此类推
else: #反之,如果不是目录
file_date = time.localtime(os.path.getctime(file_name))
#则返回文件创建的时间戳,并转换时间戳的格式为time.struct_time(tm_year=2019, tm_mon=12, tm_mday=23, tm_hour=11, tm_min=1, tm_sec=59, tm_wday=0, tm_yday=357, tm_isdst=0)
date_list = "" #初始化一个字符串
for i in range(6): #循环取出年月日时分秒共6位
if file_date[i] < 10: #如果不够两位数的在数字前面补一个0
date_list += '0' + str(file_date[i])
else: #反之两位数的则再次输出
date_list += str(file_date[i])
date_list = int(date_list) #将字符串的数字转换成整数
if date >= date_list: #如果用户输入时间 大于等于 文件的创建时间则输出该文件名以及创建日期
print("找到文件:%s %s-%s-%s %s:%s:%s" % (file_name, file_date[0], file_date[1], file_date[2], file_date[3], file_date[4], file_date[5]))
'''主函数 入口函数'''
user_input = input("请输入时间(参考格式:年-月-日 时:分:秒): ")
user_path = input("请输入一个目录: ")
date = user_input.split(' ')[0].split('-')
date_time = user_input.split(' ')[1].split(':')
listdir(user_path, int(date[0] +date[1] + date[2] + date_time[0] + date_time[1] + date_time[2]))
取随机数
import random
random.randint(value1,value2)
随机取value1和value2之间的整数
import random #导入随机数模块
num = random.randint(100, 200)
#随机取100-200之间的整数
print(num)
#每次运行都会输入一个100-200之间的整数
为了验证每次都是100-200的随机整数,输出该变量为无线循环,使用time模块,缓慢输出速度
import random
import time #导入time模块
while True: #无线循环
num = random.randint(100, 200)
#随机取100-200之间的整数
print(num)
time.sleep(0.1) #使用time.sleep使每次循环间隔0.1秒
神奇效果
import random
import time
while True:
num = random.randint(100, 200)
#随机取100-200之间的整数
print(str(num) + ' \r',end='')
#\r为回到最前面,取消结束符,将变量num转换为字符串,因为\r是字符串,所以需要转换
time.sleep(0.1)
计时器
可以用来计算cpu单核心运算能力(跑分软件)
import random
import time
#计时器
start = time.time() #定义变量start的值为当前时间,time.time()为当前时间
for _ in range(1000000):
random.randint(0,1000) + random.randint(0,1000)
random.randint(0,1000) - random.randint(0,1000)
random.randint(0,1000) * random.randint(0,1000)
random.randint(1,1000) / random.randint(1,1000)
end = time.time() #for循环运行完之后,再次测试当前时间,也就是运行完的时间,就是中间
grade = 100 - (end - start) #两个时间的差值就是,运行计算所用时间,为了计算分值使用100减去
grade = int(grade * 100) #转换为整数类型
print("您的计算机单核得分为:%s分!" % grade)
#运行
您的计算机单核得分为:8352分!