最近因为要在服务器上一大堆的视频帧中做一些数据分析,如果手动在数据集中寻找指定视频的帧将极其繁琐枯燥,而最近又在学习Python,所以便写Python程序去搜索指定视频帧再拷贝回本地电脑,主要是文件名的字符匹配和文件操作。
先没怎么留意拷贝到本地文件的大小,随着几天分析,突然留意到本地磁盘空间小了好多,拷贝了好多G的数据到本地磁盘了。又想了想,其实这样挺浪费空间的,数据在服务器上,又拷贝一份到本地,冗余信息浪费空间。。。为什么不使用快捷方式呢,在本地储存快捷方式不多好,直接连接到远程服器上共享数据的指定文件夹。
于是便上网搜索了Python关于快捷方式的操作,主要涉及两个模块,win32com和winshell,win32com相对于winshell更底层;而winshell是对win32com的封装,是依赖win32com的,从winshell.py的代码便可看出:
from __winshell_version__ import __VERSION__
import os, sys
import datetime
import win32con
from win32com import storagecon
from win32com.shell import shell, shellcon
import win32api
import win32timezone
import pythoncom
因而安装winshell之前需要安装win32com,而win32com是在pywin32中的
pywin32下载地址: http://sourceforge.net/projects/pywin32/
winshell下载地址: https://pypi.python.org/pypi/winshell
关于使用winshell创建快捷方式CreateShortcut,简单说明如下:
winshell. CreateShortcut ( Path , Target , Arguments="" , StartIn="" , Icon=("" , 0) , Description="" )Create a shortcut
Parameters: |
|
---|
# -*-code: utf-8 -*-
import os
import winshell
def main():
destDir = winshell.desktop()
filename = "myShortcut"
target = r"D:\Python"
winshell.CreateShortcut(
Path = os.path.join(destDir, os.path.basename(filename)+".lnk"),
Target = target,
Icon = (target, 0),
Description = "shortcut test")
if __name__ == "__main__":
main()
效果如下图: