【Python程序设计】如何用Python写一个可安装文件使移动硬盘不休眠
当我们外接移动硬盘时,有些移动硬盘或者硬盘盒是自带休眠功能的,但是单我们需要经常去调用硬盘时,每五分钟的休眠周期是我们无法忍受的,而且硬盘的频繁启动不仅导致读取写入时间比较慢,而且还会导致硬盘出现坏道的几率增加。因此有了以下想法,写一个可执行软件,需要不让硬盘休眠时就调用,当然你也可以使用现有的软件NoSleepHD,对于喜欢自己折腾的人来说自己写一个软件可是棒棒哒。
基本原理
- 本代码的原理是定时读取硬盘。
- 将本程序复制到目标硬盘中,它将自动创建一个hdrun.txt
- 当定时读取的时间小于硬盘休眠周期时,硬盘就无法进入休眠啦。
- 本程序使用了tkinter以及定时time等库文件。
生成可执行文件
编辑完成.py文件后,执行以下cmd命令生成可执行文件 -w作用是关闭黑色执行框
pyinstaller -F -w C:\Users\xxx\xxx.py
完整代码
#BY CCLelouch
#导入tkinter模块并创建别名tk
import tkinter as tk
import time
# 创建一个txt文件,文件名为mytxtfile,并向文件写入msg
def text_create(name, msg):
desktop_path = "./" # 新创建的txt文件的存放路径
full_path = desktop_path + name + '.txt' # 也可以创建一个.doc的word文档
file = open(full_path, 'w')
file.write(msg) #msg也就是下面的Hello world!
# file.close()
text_create('hdrun', 'Create Successful!\n')
# 调用函数创建一个名为mytxtfile的.txt文件,并向其写入Hello world!
class App:
def __init__(self, root):
#设置标题
root.title("NoSleepHD")
root.geometry("295x200")
#创建一个框架,然后在里面添加一个Button组件
#框架的作用一般是在复杂的布局中起到将组件分组的作用
frame = tk.Frame(root)
#pack()自动调节组件自身尺寸
frame.pack()
#创建一个按钮组件,fg是foreground(前景色)
self.hi_there = tk.Button(frame, text="RUN",font =('Consolas',24,'bold'),bg = "white", fg="black", command=self.HD)
#左对齐
self.hi_there.pack(side=tk.LEFT)
L = tk.Label(root,text= '\n这是一个不让硬盘睡觉的程序,先将\n\
本程序放至目标硬盘中,本程序将 \n\
自动创建hdrun.txt并每4分钟读写一次 \n\
By:CC :D',compound='center')
L.pack()
def HD(self):
print("开始运行硬盘")
n = 0
while True:
n+=1
with open('hdrun.txt', "w") as f:
f.writelines("This is the %sth Write"%(n) )
with open('hdrun.txt', "r") as f:
data = f.read()
print(data)
if n == 1000:
n = 0
time.sleep(240)
#创建一个toplevel的根窗口,并把它作为参数实例化app对象
root = tk.Tk()
app = App(root)
#开始主事件循环
root.mainloop()
关于作者:赤诚Xie
版权声明:本博客所有文章仅用于学习、交流和研究目的,欢迎转载,但请注明原文作者及出处。
奥里给!:若您觉得文章对您有帮助,请点赞、关注支持我吧😊。
药药切克闹,👇👇👇下面三连来一套(●'◡'●)
——励志作一个用单片机梳头的乖宝宝
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗