2 回答
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
我有點(diǎn)晚了,但我終于想通了。出于安全原因,Javascript 本身無(wú)法打開(kāi)文件資源管理器。然而,javascript 可以在 Jupyter notebook() 中執(zhí)行 python 代碼,python 可以使用(等)Jupyter.notebook.kernel.execute打開(kāi) Windows 資源管理器。os.startfile('.')subprocess.run
下面是代碼。linux 一個(gè)按預(yù)期工作正常,但隨著 windows 資源管理器打開(kāi)但不會(huì)進(jìn)入用戶(hù)焦點(diǎn),它還會(huì)顯示圖標(biāo)后面的橙色蜂鳴聲表明它應(yīng)該沒(méi)問(wèn)題。
import pandas as pd
import os
import subprocess
windowsv1 = """
<p onclick="Jupyter.notebook.kernel.execute(`os.startfile('C:\\Users')`)">File Explorer.</p>
"""
windowsv2 = """
<p onclick="Jupyter.notebook.kernel.execute(`subprocess.run(['explorer', 'C:\\Users'])`)">File Explorer.</p>
"""
linux = """
<p onclick="Jupyter.notebook.kernel.execute(`subprocess.call([opener, r'/home/equinox'])`)">File Explorer.</p>
"""
def make_clickable(url):
return windowsv2
df = pd.DataFrame({'dir': '.'}, index=[0])
styled = df.style.format({'dir': make_clickable})
display(styled)
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
我對(duì)此不是 100%,但我認(rèn)為這將取決于您使用的瀏覽器。此外,我認(rèn)為大多數(shù)瀏覽器都會(huì)阻止這種行為,并且不允許網(wǎng)頁(yè)鏈接打開(kāi)您的文件瀏覽器。
如果我錯(cuò)了,請(qǐng)有人糾正我。
如果您安裝 Chrome 瀏覽器擴(kuò)展程序,則可以執(zhí)行此操作。只需點(diǎn)擊以下鏈接。在您的代碼對(duì)我有用之后。
向下滾動(dòng)到標(biāo)題“從 Chrome 打開(kāi)任何本地文件”。
按照所有步驟
安裝瀏覽器擴(kuò)展(和額外的安裝文件)后不要忘記重新啟動(dòng) Chrome
添加回答
舉報(bào)
