10 行代码,用 Python 创建一个 Windows 桌面快捷方式!

    对于 Python 栈的小伙伴来说,miniconda 是一款非常棒的工具,它可以帮助我们快速的开启虚拟环境,并在独立的环境中使用特有的第三方库,从而达到不同环境之间的隔离效果。

    默认情况下,miniconda 会尽量减少对系统的影响。例如,默认安装不会将任何 python 信息添加到操作系统的默认路径,也不需要管理员权限就可以进行安装。这些看起来都非常棒,但这同样意味着我们需要执行一些额外的步骤才能让 Python 环境在标准的 Windows 提示符下工作,对于新手来说,并不是特别友好。

    幸运的是,Anaconda (fka Continuum) 提供了启动 powershell 或命令提示符的所有基础功能,默认安装会创建一些快捷方式来做到这一点,但是,我们很难修改这些快捷方式来自定义工作目录。

为了达到快速从某个目录启动 conda 的目的,我们自己创建一个快捷方式。

整体思路
    我们一旦安装了 miniconda,启动 python shell 的首选方法就是使用 miniconda 的 activate.bat 文件来配置 shell 环境。在我的系统上(默认安装 miniconda),文件存储在这里:C:/Users/luobo/AppData/Local/Continuum/miniconda3/Scripts/activate.bat 。

一般情况下,我们都不会直接在 conda 下面进行编码,而是会创建一个工作环境。

    当 conda 在 Windows 上创建新环境时,该环境的默认目录位置如下所示:C:/Users/luobo/AppData/Local/Continuum/miniconda3/envs/work 。我们可以将此完整路径传递给 activate.bat 文件,它会为我们启动并自动启动并激活工作环境。

    启动难题的最后一部分是使用 cmd.exe /K 来执行一个 shell 命令,并返回激活环境成功的提示。

完整的命令看起来像这样:

cmd.exe /K C:/Users/luobo/AppData/Local/Continuum/miniconda3/Scripts/activate.bat C:/Users/luobo/AppData/Local/Continuum/miniconda3/envs/work

好了,上面就是我们的一个整体编码思路了,还是比较清晰的,下面就开始吧。

特殊文件夹
   从上面的描述看一看到,我们的 miniconda 文件的路径隐藏得很深,并且这个目录还取决于登录用户的个人资料。所以为了我们制作的快捷方式具有通用性,显然是不能进行硬编码的。

  这里我们可以使用 winshell 这个第三方库,它提供了访问 Windows 上特殊目录的快捷操作方式。这样,我们的脚本应该可以在其他人的机器上无缝运行,并且可以跨不同版本的 Windows 运行。

import winshell
from pathlib import Path

如果我们想获取用户的配置文件目录,我们可以使用文件夹功能。

profile = winshell.folder('profile')

Output:

'C:\\用户\\luobo`

  Winshell 提供对许多不同文件夹的访问,这些文件夹可以通过其 CSIDL(常量特殊 ID 列表)进行访问。

那么通过上面的例子,我们也可以推导出, minicodan 的目录。

miniconda_base = Path(winshell.folder('CSIDL_LOCAL_APPDATA')) / 'Continuum' / 

你可能感兴趣的:(windows,python)