小编joe*_*oro的帖子

IPython内核javascript双向通信的简约示例

我的目标是为IPython编写一个交互式变量查看器,即允许人们看到,将嵌套的dicts /列表称为树,然后向下钻取(有点像Javascript中的console.log).

我花了很多时间尝试从IPython中的directview示例中提取简约代码,但仍然无法理解它是如何工作的.我的Python没问题,但我的jQuery体验非常有限.

所以我要把directview.js剥离到下面

container.show();
var widget = $('<div/>')
element.append(widget);
var output = $('<div></div>');
$(widget).append(output)
var output_area = new IPython.OutputArea(output, false);
var callbacks = { 'output': $.proxy(output_area.handle_output, output_area) };
var code  = 'print 1+1'
var msg_id = IPython.notebook.kernel.execute(code, callbacks, {silent: false}); 
Run Code Online (Sandbox Code Playgroud)

这在加载directview.ipynb时有效.不过我还是不太清楚如何使它完全独立的(即不要求directview.py,并通过另一个回调比标准handle_outputIPython.OutputArea).其中一个问题是以container.show()独立方式调用时失败.

我迷失在几个方面:

  • 为什么有一个element.append(widget)然后$(widget).append(output)呢?同样为什么还需要创建一个Ipython.OutputArea.是不是有办法只创建一个<div id=my_output_area>blah</div>然后让output回调用相关数据填充它?
  • 什么是整个.proxy的事情?我想创建自己的回调,output但是当我这样做并且console.log()传递给回调的参数时,它们undefined或者只是无用的.

我很欣赏IPython笔记本的作者使用jQuery/websockets创建了这样一个漂亮的前端做了不可思议的工作,并且创建开发人员文档,允许像我这样的初学者调整它,但是如果有人可以借出一个那手会很棒!

javascript python jquery ipython

35
推荐指数
1
解决办法
1957
查看次数

一次将Python dict的内容分配给多个变量?

我想做这样的事情

def f():
    return { 'a' : 1, 'b' : 2, 'c' : 3 }

{ a, b } = f()     # or { 'a', 'b' } = f() ?
Run Code Online (Sandbox Code Playgroud)

即,a得到1,b得2,c未定义

这与此类似

def f()
    return( 1,2 )

a,b = f()
Run Code Online (Sandbox Code Playgroud)

python dictionary

9
推荐指数
3
解决办法
4213
查看次数

如何在PDF中更改(偏移)页码

我一直在使用pdftk用pdf做很多脚本,但我对可以在linux中以编程方式完成的任何事情都是开放的,理想情况是通过命令行或python API.

我需要在pdf中更改页面编号,即使它开始说,在第5页而不是1.我需要偏移的主要原因是我将这个文档合并到其他人,理想情况下我想要每个文件都带有自己的书签并在合并中贡献它们.

如果我不能这样做,一种替代方法是从doc中删除书签(使用pdftk dump_data),将它们转换为python对象,然后通过自己执行页面移动来组合书签.这不是没有痛苦+我有可能会以非预期的方式改变原始文件.

FWIW我在使用dump_data的输出调整后尝试使用pdftk执行update_info.它适用于书签,但更改页码(如在PageMediaNumber中)根本不起作用.

有什么建议?

pdf pdftk

7
推荐指数
0
解决办法
2262
查看次数

如何忽略除一系列快速 Javascript 事件中的最后一个之外的所有事件?

由于 'changeCursor' 事件(我正在使用 ACE 编辑器),我的一个脚本在某个时候调用了一个函数。当我多次按下它时,这会减慢光标的移动速度。

我真的很想调用这个函数,但是如果只在我的光标停止移动时才调用它就可以了(即我不需要查看中间状态)。

有没有一种标准方法可以忽略最后一个事件之外的所有事件?

javascript events keyboard-events

5
推荐指数
1
解决办法
703
查看次数

如何将python回调传递给c#函数调用

我正在尝试使用 python 中的 C# 类,在 mono/ubuntu 上使用 python.net。

到目前为止,我设法用一个参数完成了一个简单的函数调用。我现在要做的是将 python 回调传递给 C# 函数调用。

我在下面尝试了以下变体,但没有一个奏效。有人可以展示如何做到这一点吗?

// C# - testlib.cs
class MC {
    public double method1(int n) {
        Console.WriteLine("Executing method1" );
        /* .. */
    }

    public double method2(Delegate f) {
        Console.WriteLine("Executing method2" );
        /* ... do f() at some point ... */
        /* also tried f.DynamicInvoke() */
        Console.WriteLine("Done executing method2" );
    }
}
Run Code Online (Sandbox Code Playgroud)

Python脚本

import testlib, System
mc = testlib.MC()
mc.method1(10) # that works

def f():
    print "Executing f"

mc.method2(f)  
# does …
Run Code Online (Sandbox Code Playgroud)

c# python mono callback python.net

5
推荐指数
2
解决办法
4904
查看次数