week3day4-常用系统模块

week3day4-常用系统模块

1.os模块

'''
(1)返回当前工作目录
os.getcwd() #D:\qianfeng\python\01语言基础\week3day4常用系统模块

(2)获取指定文件夹中所有内容的名字
os.listdir()

(3)创建文件夹
os.mkdir(文件夹路径)——在指定路径下创建指定的文件夹(要求整个路径中只有最后的那个文件夹不存在才可以创建)
os.makedirs(文件夹路径)——递归创建文件夹(可以创建路径中所有不存在的文件夹)

(4)返回绝对路径
os.path.abspath(相对路径) ——返回相对路径对应的绝对路径
绝对路径:文件或文件夹在计算机中全路径(windows电脑绝对路径从盘开始写)
相对路径:a.用.表示当前目录(当前目录指当前代码文件所在的文件夹)
        b.用..表示当前目录的上层目录

(5)获取文件名
os.path.basename(文件路径)——获取文件路径中的文件名

(6)检查路径是否有效
os.path.exists(路径)

(7)判断是否是文件或者文件夹
os.path.isfile(路径)——是否是文件
os.path.isdir(路径)——是否是文件夹

(8)将目录和文件名拼接
os.path.join(文件夹路径,文件名)

(9)获取文件的扩展名(后缀)
os.path.splitext
'''

2.math和random模块

'''
1.数学模块——math,cmath(针对复数的数学模块)
(1)浮点数转整数
math.ceil(浮点数) 进一法
math.floor(浮点数) 退一法
round(浮点数) 四舍五入

(2)求绝对值
math.fabs()——获取绝对值,结果都是浮点数
abs()——获取绝对值,保留原理的数据类型

2.随即模块——random
(1)产生一个随机整数:random.randint(M,N)——产生M到N的随机整数
(2)产生一个随机小数:random.random() 产生0到1的随机小数
(3)random.randrange(M,N,step) 随机获取等差数列中获取一个数
(4)random.shuffle(有序可变序列)——洗牌(随机打乱序列中元素的顺序)
(5)random.choice(序列)——从序列中随机获取一个元素
(6)random.choices(序列,k=个数)——从序列中抽取k个元素(有放回的抽取,默认情况下所有元素的权重相同)
(7)random.choices(序列,weights=权重序列,k=个数)——设置相对权重的抽取
(8)random.sample(序列,k=个数)——从序列中随机获取指定个数的元素(无放回的抽取)
(9)random.sample(序列,k=个数,counts=权重序列) python.3.9之后才能使用权重


'''

3.time模块

'''
3.时间模块:time
(1)time.time()——获取当前时间(时间戳)
时间戳——用指定时间到1970年1月1日0时0分0秒(格林威治时间)的时间差来表示一个时间,单位是秒

(2)time.localtime()——获取本地当前时间,返回结构体时间
time.localtime(时间戳)——将时间戳转换成本地时间

(3)time.mktime(结构体时间)——将结构体时间转化为时间戳

(4)time.strftime()
time.strftime(时间格式字符串,结构体时间)——将结构体时间转换成指定格式的字符串时间

(5)time.strptime(字符串时间,时间格式)-将字符串时间转换成结构体时间
t1='1992-3-4'

(6)time.sleep()-让程序暂停指定时间


'''

4.datetime模块

# 1. datetime类
# 1)获取当前时间
t1 = datetime.now()
print(t1, type(t1))

t2 = datetime.today()
print(t2)

# 2) 获取具体的时间信息
print(t1.year)
print(t1.month)
print(t1.day)
print(t1.hour)
print(t1.minute)
print(t1.second)
print(t1.weekday())

# 3) 字符串时间转datetime
# datetime.strptime(字符串时间, 时间格式)
result = datetime.strptime('2011年2月4日', '%Y年%m月%d日')
print(result, result.weekday())

# 4) 将datetime转化成字符串
# datetime时间对象.strftime(时间格式)
result = t1.strftime('%Y/%m/%d %a')
print(result)       # '2022/03/03 Thu'

# 5) 将datetime转换成结构体时间
# 时间对象.timetuple()
import time
result = t1.timetuple()
print(result)
print(time.mktime(result))

# 2.timedelta   -  完成时间的加减操作
# 注意:timedelta在完成时间加减操作的时候时间只能以秒、分、时、周或者天为单位
# 时间对象 +/- timedelta()
t2 = datetime.strptime('2022-12-31 23:59:40', '%Y-%m-%d %H:%M:%S')

# 1个小时以后的时间
result = t2 + timedelta(hours=1)
print(result)       # 2023-01-01 00:59:40

# 1个小时前的时间
result = t2 - timedelta(hours=1)
print(result)       # 2022-12-31 22:59:40

# 3天后
result = t2 + timedelta(days=3)
print(result)

# 1个小时30分钟前
result = t2 - timedelta(hours=1, minutes=30)
print(result)       # 2022-12-31 22:29:40

result = t2 - timedelta(weeks=3)
print(result)   # 2022-12-10 23:59:40

housew

import os
import shutil
path1=input('请输入需要整理的文件夹的路径:')
if os.path.exists(path1):
    name_list=os.listdir(path1)
    print(name_list)
    for file_name in name_list:
        new_path=os.path.join(path1,'目录',file_name)
        try:
            os.makedirs(new_path)
        except:
            pass
        path_name=os.path.join(path1,file_name)
        if os.path.isfile(path_name):
            houzui_name=os.path.splitext(path_name)[-1][1:]
            newdirectry_name=os.path.join(path1,houzui_name)
            print(newdirectry_name)
            if houzui_name not in os.listdir(path1):
                os.mkdir(newdirectry_name)
            shutil.move(path_name,newdirectry_name)
else:
    print('无效路径,请重新输入:')

你可能感兴趣的:(python)