标准库

是python提供的官方库,是对操作系统的操作库,os库

概念

官方写好的代码,封装成了一个python模块,给开发人员调用

标准库的使用

使用import导入语句,通过该语句导入标准库,或者第三方模块也可使用该语句进行导入

import的语法格式:import 模块名

导入标准库的语法:import os

import os        #导入标准库

'''创建一个目录'''
os.mkdir("Chai")   #会在当前使用的目录中创建一个子目录

image-20191230095557631.png

删除目录

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分!

评论




正在载入...
PoweredHexo
HostedAliyun
DNSAliyun
ThemeVolantis
UV
PV
BY-NC-SA 4.0