python - 如何在远程服务器上运行的 jupyter 中获取本地剪贴板?
问题描述
我jupyter
在远程服务器上运行,笔记本想要从本地浏览器剪贴板获取数据。
这是我有问题的代码。
from IPython import get_ipython
from base64 import b64decode
import sys
def from_clipboard():
'''
'''
ipy = get_ipython()
r = ipy.run_cell_magic( "javascript", "",
'''
navigator.clipboard.readText().then(clipText =>{
console.log(clipText);
var enc = btoa(clipText);
IPython.notebook.kernel.execute('temp_var="' + enc + '"');
console.log(enc);
});
''')
return b64decode(sys.modules['__main__'].temp_var).decode()
print(from_clipboard())
from_clipboard
当我按回车 触发时。IPython.notebook.kernel.execute('temp_var="' + enc + '"');
是填充,将在from_clipboard
完成后执行。
所以sys.modules['__main__'].temp_var
此时未定义。
有什么办法解决这个问题吗?
解决方案
推荐阅读
- javascript - 全局无效挂钩调用 - React
- javascript - 使用 Puppeteer,您将如何从网站上抓取标题和图像,并将它们放在同一个对象中,以便图像与标题相关?
- r - 闪亮,无法选择所选数据集的变量
- python - 将缩放和 pca 应用于 ColumnTransformer 中的列子集
- discord - Discordjs 层次结构权限
- google-cloud-platform - 谷歌云笔记本虚拟机 - 高内存机器,内存错误导致内核崩溃
- javascript - 为什么即使所有网格元素都使用 fr 调整大小,网格的右侧和底部仍有空白?
- android - 如何知道您何时因为返回按钮而返回活动?
- c# - C# ASP.NET:使用验证显示错误消息
- r - 如何更新单元格数据中特定位置的值