不得不说,人在痛苦的时候,干别的事情的创造力和效率都是极高的
起因
前段时间每天都在电脑前埋头苦干被毕业论文折磨的时候,时间长了发现都形成了一个固有的流程,首先打开一堆软件、网站,也就是弄好工作的一个准备环境,然后才能开始干活。准备工作大致包括:
- 网页 cnki、谷歌学术、scihub等
- 文献管理软件 Zotero
- 翻译软件 copytranslator
- 自己的论文文件夹,word文件等
- 其他软件 qq、wechat、onedrive 等
- 代码软件等
每天都是打开这些,时间长了就想着能不能自动化一下,点一下就都打开那多好,于是就想着创新(摸鱼)一下,于是就有了以下的操作。
不得不说,人在痛苦的时候,干别的事情的创造力和效率都是极高的
原理
核心函数就两个
- 一个是
os.startfile(dir)
根据电脑的文件路径打开文件,软件、文件夹都可以
- 另一个是
webbrowser.open(url)
根据url连接打开指定的网站
根据这两个功能,就可以一键将我常用的界面全部打开
1 2 3 4 5
| import os import webbrowser
os.startfile(dir) webbrowser.open(url)
|
写论文场景示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
import os import webbrowser
def writingPapers(): appDirList = [] appDirList.append(r'C:\Users\leiwe\OneDrive\科研\毕业论文') appDirList.append(r"C:\Users\leiwe\OneDrive\科研\毕业论文\毕业论文汇总.docx") appDirList.append(r"C:\Program Files (x86)\Zotero\zotero.exe") appDirList.append(r'C:\Program Files\copytranslator\copytranslator.exe')
urlList = [] urlList.append('https://www.cnki.net/') urlList.append('http://scholar.scqylaw.com/') urlList.append('https://sci-hub.se/')
for dir in appDirList: os.startfile(dir) for url in urlList: webbrowser.open(url)
if __name__ == "__main__": writingPapers()
|
不同场景切换
因为有不同的使用场景需要启动不同的程序组合,需要实现启动时选择场景,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| if __name__ == "__main__": scripList = [] scripList.append([openQQandWechat, "qq 和 微信"]) scripList.append([writingPapers, "写论文"]) scripList.append([steamGame, "steam游戏"])
for i in range(len(scripList)): print("{} : {}".format(i, scripList[i][1]))
c = int(input("输入序号选择场景:\n")) message = "" if c < len(scripList): message = "{} 正在启动".format(scripList[c][1]) scripList[c][0]() elif c == 99: message = "运行所有脚本" for script in scripList: script[0]() else: message = "输入错误"
|
对以上功能稍加优化后,我目前所用的程序所有代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
import os import webbrowser import time
bufTime = 0.3
def writingPapers(): appDirList = [] appDirList.append(r'C:\Users\leiwe\OneDrive\科研\毕业论文') appDirList.append(r"C:\Program Files (x86)\Zotero\zotero.exe") appDirList.append(r'C:\Program Files\copytranslator\copytranslator.exe')
urlList = [] urlList.append('https://www.cnki.net/') urlList.append('http://scholar.scqylaw.com/') urlList.append('https://sci-hub.se/')
for dir in appDirList: time.sleep(bufTime) os.startfile(dir) for url in urlList: time.sleep(bufTime) webbrowser.open(url)
def openQQandWechat(): wecharDir = r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe" qqDir = r"C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe" os.startfile(wecharDir) os.startfile(qqDir)
def steamGame(): steamDir = r"C:\Program Files (x86)\Steam\steam.exe" uu = r"C:\Program Files (x86)\Netease\UU\uu.exe" os.startfile(steamDir) os.startfile(uu)
if __name__ == "__main__": scripList = [] scripList.append([openQQandWechat, "qq 和 微信"]) scripList.append([writingPapers, "写论文"]) scripList.append([steamGame, "steam游戏"])
for i in range(len(scripList)): print("{} : {}".format(i, scripList[i][1]))
c = int(input("输入序号选择场景:\n")) message = "" if c < len(scripList): message = "{} 正在启动".format(scripList[c][1]) scripList[c][0]() elif c == 99: message = "运行所有脚本" for script in scripList: script[0]() else: message = "输入错误"
print(message) print("两秒后窗口将自动关闭......") time.sleep(3)
|
Dawnlauncher
推荐一个好用的软件Dawnlauncher,官网是https://dawnlauncher.com/,挺好用的,常用软件分类在一起,基本是一样的思路只是不用写代码,挺适合我。
界面如下