软件名称
randopen
应用平台
macOS和Linux好像需要其他的打开文件方式,没有研究
推荐类型
【开发者自荐】
一句简介
python实现的随机打开学习资料,更简陋(不知道有没有大佬愿意套个GUI)但是更快
应用简介
其实本人一直想找一个能随机打开学习资料的软件,直到前几天小众软件给推荐了一个AHK版的。我试了下,大概每次点了以后都要等10多秒才弹确认框问是否需要打开——太慢了。
于是自己就用python搓了一个异常简陋的小脚本。
简单说一下如何使用:
- 在
config.txt
中指定文件夹地址和后缀。
- 点击
randopen.exe
运行,第一次会遍历文件夹,然后建立一个记录文件路径的二进制文件db-file
。后续运行会直接从二进制文件那里随机挑一个文件路径用来打开。
- 因此:如果改变了文件夹地址或后缀,需要手动删除
db-file
。
官方网站 && 应用商店地址
open a random file in the dictionary (github.com)
用py2exe打包了一个:http://tmp.link/f/612cdd775f462
对了,文件打开以后会自动把文件所在目录放到剪切板,方便大家整理不喜欢的学习资料!
Debatrix
(Debatrix)
8
老哥 试过glob吗 也是python自带库 不用一直walk的
Debatrix
(Debatrix)
9
还有一个问题是你写了缓存但没有更新机制
毕竟 学习资料这种东西更新的还是比较勤的……
glob我好像试过,比walk还慢一些 不知道咋回事。
另外删除db-file那个文件就会去遍历了。我的学习资料已经好久没更新了
Debatrix
(Debatrix)
12
试试glob+列表解析呢 我刚才测试了一下 glob更快一些
文件夹内有大概115657个文件
In [11]: !time ls
另外是否使用db-file也可以在配置里设置嘛
不过学习速度很快的我应该是常年关闭了……
你的glob的语法有问题,你这么写是不会去遍历子文件夹的,遍历子文件夹应该这么写:
glob.glob("**/*", recursive = True)
我没有严谨的测试,不过我这边跑下来的结果glob要略慢一点点
另外我觉得这个瓶颈在磁盘IO上,除非访问特别底层的东西,否则python本身应该没法实现明显提速了。
Debatrix
(Debatrix)
14
你的glob的语法有问题,你这么写是不会去遍历子文件夹的,遍历子文件夹应该这么写:
glob.glob("**/*", recursive = True)
啊 我就觉着忘了什么……
多进程可能会有帮助 但是只为了学习的话没必要……
2bman
(二笔青年)
15
这种小程序还得用 .net 来搓,自己几年前搓的随机选择器,只是用法稍微麻烦了点,不过设置好后就可以一劳永逸了。
你这个太复杂了。而且GUI真的只会影响拔剑的速度。。。