目录
1、random生成随机验证码
###
利用random库生成随机验证码
###
# 随机模块 random
import random
def yzm():
cholst = ""
for i in range(4):
# 大写字母 ASK码A-Z 65~90,chr返回ASK对应的值
AZ = chr( random.randrange(65,91) )
az = chr( random.randrange(97,123) )
num = str( random.randrange(10) )
lst = [AZ,az,num]
# 把可能的字符都放在列表里 , 一次抽一个
cholst += random.choice(lst)
return cholst
res = yzm()
print(res)
2、time生成进度条
###生成进度条###
import time
def jdt(percent):
if percent > 1:
percent = 1
# strvar表示进度条##的图形,每次输出多少个#,最多输入50个#表示100%
strvar = int(50 * percent) * "#"
print("\r[%-50s] %d%%" % (strvar,int(100 * percent)), end="")
# 模拟下载一个文件总大小102800字节,每次接收1024字节大小数据
# percent表示进度条的数字用于显示最右边
total_size = 1028000
recv_size = 0
while recv_size <= total_size:
recv_size += 1024
time.sleep(0.001)
percent = recv_size / total_size
jdt(percent)
3、代码自动启动应用程序
###利用代码自动启动应用程序###
import os
print(os.environ["PATH"])
# 将路径添加到环境变量中,在执行命令时,通过路径去找对应程序,进行执行.
os.environ["PATH"] += r"F:\qq\Bin;"
print(os.environ["PATH"])
os.system("QQScLauncher")
os.system("D:\wechat\WeChat.exe")
4、os查看磁盘或者文件夹下占用空间大小
# coding=utf-8
# 使用Python 3运行
import os
# 工作中经常遇到win堡垒机磁盘不足现象,也不能用du -sh命令查看,利用脚本计算当前目录下大小,方便找到大文件所在
# 目前还需要继续验证逻辑和优化备注,日后添加自动排序大小展示
print("路径格式为" + "D:\\app\\xxx")
pathname = input('请输入搜索路径:')
pathname2 = pathname
# 切换到需要查询的工作目录
# os.chdir(r'D:\Users')
os.chdir(pathname)
# 获取文件夹下的文件大小 [url=https://www.jianshu.com/p/a5ec32322fd6]
def Get_Dir_Size(dir):
size = 0
for root, dirs, files in os.walk(dir):
size += sum([os.path.getsize(os.path.join(root, name)) for name in files])
return size
# python 文件大小显示kb、mb或gb等 [url=https://blog.csdn.net/mp624183768/article/details/84892999]
def Covert_File_Size(size):
kb = 1024;
mb = kb * 1024;
gb = mb * 1024;
tb = gb * 1024;
if size >= tb:
return "%.1fTB" % float(size / tb)
if size >= gb:
return "%.1fGB" % float(size / gb)
if size >= mb:
return "%.1fMB" % float(size / mb)
if size >= kb:
return "%.1fKB" % float(size / kb)
# 创建方法
def Print_Size_Of_Current_Dir():
file_size = dict() # 创建一个空的字典,用来存储我们的结果
current_work_dir = os.curdir # 指代当前目录,在windows系统下是'.'
all_file = os.listdir(current_work_dir) # 用列表列举当前目录中的文件名
for each_file in all_file: # 依次提取这个列表中的每一个元素(路径)
if os.path.isdir(each_file) == True: # 判断这个路径是否表示文件夹
file_size.setdefault(each_file, Covert_File_Size(Get_Dir_Size(each_file)))
else: # 如果不是文件夹,即是有后缀的那些文件
file_size.setdefault(each_file, Covert_File_Size(os.path.getsize(each_file)))
# 下面我们来打印结果
# 刚学两天,只能想到这样对结果进行展示排序,将循环中大小对应的GB、MB等存放到对应的全局变量,然后进行拼接,这样可以保证直接放到同一个字符串顺序乱掉,可根据需求自定义需要展示超过多少的文件
gb = ""
mb = ""
kb = ""
nb = ""
for type_file in file_size:
s = str(file_size[type_file])
# pycharm高亮显示正常,cmd乱码
resultdict = ('【%s】:【%s】' % (type_file, '\033[1;45m' + s + '\033[0m'))
resultdictnone = ('【%s】:【%s】' % (type_file, '\033[1;45m 0K \033[0m'))
if 'GB' in s: gb += (resultdict + "\r\n")
if 'MB' in s: mb += (resultdict + "\r\n")
if 'KB' in s: kb += (resultdict + "\r\n")
if 'None' in s: nb += (resultdictnone + "\r\n")
print(nb + kb + mb + gb)
Print_Size_Of_Current_Dir()
pathnamenext = input('继续搜索文件夹/..返回上一级/q退出:')
# 20210906:新补充交互式搜索文件夹展示,直接输入当前文件夹即可,不需要全路径;输入q退出,..返回上一级。
sign = True
while sign:
if pathnamenext == "q":
pathnamelast = pathname
pathnamenext = input('Bye!')
break
elif pathnamenext == "..":
pathnamelast2 = pathnamelast
print('当前搜索路径为:' + pathnamelast)
# pathnamelast4 = pathnamelast.rsplit("\\",1)[0]
os.chdir(pathnamelast)
Print_Size_Of_Current_Dir()
pathnamenext = input('请重新执行脚本,返回上一层继续搜索待完善。')
break
elif os.path.isdir(pathnamenext):
pathnamelast = pathname
pathname += "\\"
pathname += pathnamenext
print('当前搜索路径为:' + pathname)
os.chdir(pathname)
Print_Size_Of_Current_Dir()
pathnamenext = input('继续搜索文件夹/..返回上一级/q退出:')
elif os.path.isfile(pathnamenext):
pathnamelast = pathname
print("检测到普通文件,无法继续向下查询")
print('当前搜索路径为:' + pathnamelast)
os.chdir(pathnamelast)
Print_Size_Of_Current_Dir()
pathnamenext = input('继续搜索文件夹/..返回上一级/q退出:')
else:
pathnamelast = pathname
sign = False
print("检测到特殊文件,无法继续向下查询")
pathnamenext = input('继续搜索文件夹/..返回上一级/q退出:')
break
windows执行脚本方法:
1、环境变量配置python的路径
2、将py脚本保存至utf-8编码的*.py文件
3、创建一个bat文件执行
python D:\pyshell\disk-check.py
pause