Python 3:打开包含在变量中的磁铁链接



我有一个磁铁链接(例如:磁铁:?xt=urn:btih:1c1b9f5a3b6f19d8dbcbab5d5a43a585e4a7db6),包含在一个变量中作为字符串,我希望脚本打开处理磁铁链接的默认程序,以便它开始下载torrent(就像我从文件管理器中打开磁铁链接一样)。

为了明确答案,我们将说,我们在一个名为magnet_link的变量中有磁环。

在Windows上,您可以使用os.startfile:

os.startfile(magnet_link)

对于Mac/OSX,您可能会使用appescription并将其管道传输到osascript,对于Linux,您可能可以使用xdg-open

下面是一个小代码片段,总结了所有操作系统上的方法

  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)

在mac上,如果你安装了一个应用程序来处理它,只需将链接传递到打开命令

open "some url"

使用来自子流程的东西,我会想象

相关内容

  • 没有找到相关文章

最新更新