随机打开指定目录下指定后缀文件


软件名称

randopen

应用平台

  • Windows

macOS和Linux好像需要其他的打开文件方式,没有研究

推荐类型

【开发者自荐】

一句简介

python实现的随机打开学习资料,更简陋(不知道有没有大佬愿意套个GUI)但是更快

应用简介

其实本人一直想找一个能随机打开学习资料的软件,直到前几天小众软件给推荐了一个AHK版的。我试了下,大概每次点了以后都要等10多秒才弹确认框问是否需要打开——太慢了。

于是自己就用python搓了一个异常简陋的小脚本。

简单说一下如何使用:

  1. config.txt中指定文件夹地址和后缀。
  2. 点击randopen.exe运行,第一次会遍历文件夹,然后建立一个记录文件路径的二进制文件db-file。后续运行会直接从二进制文件那里随机挑一个文件路径用来打开。
  3. 因此:如果改变了文件夹地址或后缀,需要手动删除db-file

官方网站 && 应用商店地址

open a random file in the dictionary (github.com)
用py2exe打包了一个:钛盘

随机打开学习资料?您说的这个学习资料,它正经吗? :rofl:

3 Likes

对了,文件打开以后会自动把文件所在目录放到剪切板,方便大家整理不喜欢的学习资料!

前几天有一个了。。

你没仔细看,就是因为那个太慢了我才搓的这个。。。

那你不搓一个 GUI

GUI只会影响拔剑速度……不信你试试

如果我后面要来优化也是优化编译后文件体积了

1 Like

老哥 试过glob吗 也是python自带库 不用一直walk的

还有一个问题是你写了缓存但没有更新机制
毕竟 学习资料这种东西更新的还是比较勤的……

glob我好像试过,比walk还慢一些 不知道咋回事。
另外删除db-file那个文件就会去遍历了。我的学习资料已经好久没更新了

试试glob+列表解析呢 我刚才测试了一下 glob更快一些

文件夹内有大概115657个文件
In [11]: !time ls

另外是否使用db-file也可以在配置里设置嘛
不过学习速度很快的我应该是常年关闭了……

你的glob的语法有问题,你这么写是不会去遍历子文件夹的,遍历子文件夹应该这么写:
glob.glob("**/*", recursive = True)

我没有严谨的测试,不过我这边跑下来的结果glob要略慢一点点

另外我觉得这个瓶颈在磁盘IO上,除非访问特别底层的东西,否则python本身应该没法实现明显提速了。

你的glob的语法有问题,你这么写是不会去遍历子文件夹的,遍历子文件夹应该这么写:
glob.glob("**/*", recursive = True)

啊 我就觉着忘了什么……
多进程可能会有帮助 但是只为了学习的话没必要……