Как создать ярлык для файла с помощью python?

У меня есть программа, которая получает абсолютный путь до файла, как создать ярлык, указывающий на этот файл?


Ответы (3 шт):

Автор решения: GUIMish

Попробуй воспользоваться функцией os.symlink.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
os.symlink("/путь к файлу", "/путь для создания ярлыка")
→ Ссылка
Автор решения: gil9red

Ярлык можно создать через WScript.Shell, используя библиотеку pywin32 (pip install pywin32):

from win32com.client import Dispatch


def create_shortcut(file_name: str, target: str, work_dir: str, arguments: str = ''):
    shell = Dispatch('WScript.Shell')
    shortcut = shell.CreateShortCut(file_name)
    shortcut.TargetPath = target
    shortcut.Arguments = arguments
    shortcut.WorkingDirectory = work_dir
    shortcut.save()

Пример:

from pathlib import Path

abs_file_name = r'C:\Program Files (x86)\ConEmu\ConEmu.exe'
path = Path(abs_file_name)

name = 'My startup python scripts 1'

create_shortcut(
    file_name=f"ConEmu start task '{name}'.lnk",
    target=str(path),
    work_dir=str(path.parent),
    arguments='/cmd {%s} -new_console' % name,
)

В чистом виде это выглядит так:

create_shortcut(
    file_name=f"ConEmu start task '{name}'.lnk",
    target=r'C:\Program Files (x86)\ConEmu\ConEmu.exe',
    work_dir=r"C:\Program Files (x86)\ConEmu",
    arguments='/cmd {%s} -new_console' % name,
)
→ Ссылка
Автор решения: MainPlay TG

Я сегодня добавил такую функцию в модуль MainShortcuts.

Установить модуль:

pip install -U mainshortcuts

Инструкция:

import MainShortcuts as ms
help(ms.win.write_lnk)

Функция существует только на Windows.

→ Ссылка