从Windows Internet快捷方式(.url)文件

时间:2016-11-05 23:23:55

标签: python-2.7

我想检索Windows Internet快捷方式(.url)文件的URL属性。例如,有一个YouTube预告片" ROGUE ONE:星球大战故事TRAILER(2016)"在https://www.youtube.com/watch?v=Ze2kpOZx_kU。如果将网址从Chrome浏览器拖到Windows桌面文件" ROGUE ONE-A Star Wars Story TRAILER(2016) - YouTube.url"被建造。在Windows 10中,我可以查看文件的属性(例如,右键单击并选择'属性'),选择' Web文档'选项卡,在URL字段中有" https://www.youtube.com/watch?v=Ze2kpOZx_kU"。如何在Python 2.7中以编程方式获取此URL?

2 个答案:

答案 0 :(得分:4)

我正在以错误的方式追逐这个问题!我以为我需要提取文件信息。使用Philip的建议我打印了内容并看到URL在里面。例如,将电影的URL拖动到C:\ Temp并运行以下内容我得到了URL:

filename = 'C:\Temp\ROGUE ONE- A Star Wars Story TRAILER (2016) - YouTube.url'
with open(filename, "r") as infile:
    for line in infile:
        if (line.startswith('URL')):
            url = line[4:]
            break
print url

这给出了: https://www.youtube.com/watch?v=Ze2kpOZx_kU

答案 1 :(得分:1)

Windows Internet快捷方式(.url)文件是INI文件。它们可能包含一个或多个部分(适用于应用或框架)和多个属性(例如IconFileHotKey),但它们始终具有InternetShortcut部分且具有URL属性。

因此,您可以使用ConfigParser解析它们:

import ConfigParser

parser = ConfigParser.ConfigParser()

file = 'C:\Temp\ROGUE ONE- A Star Wars Story TRAILER (2016) - YouTube.url'
parser.read(file)
url = parser.get('InternetShortcut', 'url', True)

get中的参数是:

  1. 部分。
  2. 选项。
  3. rawTrue禁用插值。需要避免误将url的百分比编码用于内部引用。