如何在使用Python单击HTML页面上的某个链接时打开一个Windows文件夹

我正在写下面的程序:

***import os filepath=r'C:\TestData\openfolder.html' abc=open(filepath,'w') abc.writelines('<html><head></head><body>') abc.writelines('<a href="os.startfile(filepath)">First Link</a>\n') abc.writelines('</body></html>')*** 

我想要做的是如果我点击浏览器上的第一个链接,我应该能够打开path为“文件path”的文件夹。 os.startfile完美的打开一个文件夹,但我不知道如何实现这个里面的一些链接。 谢谢。

尝试使用URI file: scheme像file:///C:/TestData/openfolder.html在你的html:

 <a href="file:///C:/TestData/openfolder.html">Link to test data</a> 

这里是关于在Windows中使用文件URI的文章 。

UPD(从评论中提取):每个浏览器都有自己的方式来处理这样的URL。 至少Windows 7下的Internet Explorer 8按照jags的要求打开Windows资源管理器中的链接。

最后,对于动态页面, Web服务器是必需的。 如果需要的话,看看使用python创建简单的web服务的讨论 。

你不能。 单击浏览器中文件的链接将不会在操作系统上启动与该文件类型关联的应用程序。 你可以显然做一些与JavaScript的时髦的东西,以启动特定的应用程序的文件类型(见这里: http : //forums.devshed.com/asp-programming-51/launching-ms-word-to-open-file-from- a-hyperlink-55714.html ),但除此之外,浏览器不是文件浏览器。

 <a href="FOLDER_PATH" target="_explorer.exe">Link Text</a> 

FOLDER_PATH替换为您要在资源管理器中打开的文件夹的路径。

阿兰的答案奏效。

<'a href =“FOLDER_PATH”target =“_ explorer.exe”>链接文本</ a>

我在开始和结束时删除了刻度标记,并发现它工作在

  • Internet Explorer – 打开一个Windows资源管理器窗口

  • Firefox(Windows和Linux),但打开一个新标签 – 与target =“_ blank”一样

  • Chrome – 打开Firefox等新标签

我还注意到/和\(前进和后退的斜线)在html链接中是相同的,甚至可以混合使用。