Python 3: Открытие Магнитной Ссылки, Содержащейся В Переменной
У меня есть магнитная связь (например: Магнит:?xt=urn: btih: 1c1b9f5a3b6f19d8dbcbab5d5a43a6585e4a7db6) содержится в переменной в виде строки и хотел бы, чтобы скрипт открыл программу по умолчанию, которая обрабатывает ссылки на магнит, чтобы она начала загрузку торрента (например, если бы я открыл ссылку на магнит из моего файлового менеджера).
Для ясности ответов скажем, что у нас есть магнитная связь в переменной под названиемmagnet_link
.3 ответа:
В Windows вы можете использовать
os.startfile
:os.startfile(magnet_link)
Для Mac/OSX вы, вероятно, можете использовать applescript и передать его в
osascript
, для Linux вы можете использоватьxdg-open
.
На mac, Если у вас есть установленное приложение, которое будет обрабатывать его, просто передайте ссылку на команду open
open "some url"
Используя что-то из подпроцесса, я бы предположил
Вот небольшой фрагмент кода, который суммирует метод на всех операционных системах
import sys , subprocess def open_magnet(magnet): """Open magnet according to os.""" if sys.platform.startswith('linux'): subprocess.Popen(['xdg-open', magnet], stdout=subprocess.PIPE, stderr=subprocess.PIPE) elif sys.platform.startswith('win32'): os.startfile(magnet) elif sys.platform.startswith('cygwin'): os.startfile(magnet) elif sys.platform.startswith('darwin'): subprocess.Popen(['open', magnet], stdout=subprocess.PIPE, stderr=subprocess.PIPE) else: subprocess.Popen(['xdg-open', magnet], stdout=subprocess.PIPE, stderr=subprocess.PIPE)