标签: interactive

如何强制ffmpeg进入非交互模式?

有时您希望ffmpeg询问您是否应该覆盖文件.有时它只是一个你喜欢的脚本如果出现问题就会失败.即如果你有问题,也不要依赖stdin来回答.

stdin ffmpeg interactive non-interactive

18
推荐指数
1
解决办法
7851
查看次数

Haskell:如何在状态monad之上编写交互式解释器?

我们正在开发一个内部使用状态monad的模型文件系统.我们有一个类型类,其操作如下:

class Monad m => FS m where
  isDirectory  :: Path -> m Bool
  children     :: Path -> m [Path]
  ...
Run Code Online (Sandbox Code Playgroud)

我们正在努力一点点交互式解释,将提供类似的命令cd,ls,cat,等等.解释器中的操作可以这样写:

fsop :: FS m => Operation -> m Response
Run Code Online (Sandbox Code Playgroud)

定义OperationResponse不重要; 如果你愿意,把它们当作弦乐.

我试图解决的问题是在I/O monad中编写一个顶层循环来解释文件系统Operation并打印响应.如果IO是FS的一个实例(也就是说,如果我们直接使用IO monad),生活会很简单:我们可以写

loop :: Path -> IO ()
loop currentDir = do
        op <- getLine
        case read op of
          ChangeDir d -> loop d -- should test 'isDirectory d', but let's not
          Ls …
Run Code Online (Sandbox Code Playgroud)

monads interpreter haskell interactive state-monad

17
推荐指数
3
解决办法
2926
查看次数

动态交互问题

我试图有两个面板,左边显示一个图形和两个定位器,右边一个是定位器定义的区域中的放大版本.

我试过了

ClearAll[mndpt];
mndpt = Compile[{{c, _Complex}, {maxiter, _Integer}},
   Module[{z, iters},
        iters = 0.;
        z = c;
            While[(iters < maxiter) && (Abs@z < 2),
                iters++;
                z = z^2 + c];
        Sqrt[iters/maxiter]],
   {{z, _Complex}},
   CompilationTarget \[Rule] "C",
   RuntimeOptions \[Rule] "Speed"];
Run Code Online (Sandbox Code Playgroud)

并做

Manipulate[
 Grid[
  {{DensityPlot[mndpt[x + y*I, 200],
        {x, -2, 1}, {y, -1.5, 1.5},
        PlotRange \[Rule] {0, 1}, PlotPoints \[Rule] 80, 
     ColorFunction \[Rule] "Rainbow"],
    DensityPlot[mndpt[x + y*I, 200],
        Dynamic@{x, p1[[1]], p2[[1]]}, Dynamic@{y, p1[[2]], p2[[2]]},
        PlotRange \[Rule] {0, 1}, PlotPoints \[Rule] 80, 
     ColorFunction …
Run Code Online (Sandbox Code Playgroud)

frontend wolfram-mathematica interactive dynamic

17
推荐指数
1
解决办法
1110
查看次数

具有基本节点/边缘过滤的交互式Graphviz查看器

我看过Graphviz资源页面,问题12仍然找不到具体的答案.我的用例是浏览软件组件(例如可安装软件包)之间的依赖关系,其中一个特定特征是一些公共节点是许多边缘的目标.例如,几乎每个可执行包都依赖于libc.

根据这个特点,我想让查看器/库具有以下功能:

  1. 使用Graphviz"点"布局算法(强制布局算法,在不同的库中很多,不能为讨论的用例提供良好的布局质量).
  2. 以交互方式禁用/重新启用图中的某个节点(上面的libc示例).
  3. 以交互方式禁用/重新启用特定节点的所有边缘(例如,libpng依赖于libz,但这很明显,并且可以禁用以使视图不混乱).
  4. 在某个节点重新生成根图(显示只有从该节点可到达的节点的子图),并"缩小"以完成图形.

理想情况下,这将是一个Javascript库,可以轻松实现更复杂的操作功能.重要的是,如上所述的基本观看行为是开箱即用的 - 再次,我找不到类似的东西,许多解决方案是静态观看者,或"自由形式编辑器"允许拖动节点,但不是足够高水平和有用的行为.

最后,如果不存在这样的解决方案,欢迎提出实施这些功能的最佳框架的建议.

visualization interactive viewer graphviz

17
推荐指数
2
解决办法
1万
查看次数

从paramiko ssh exec_command连续获取输出

我正在使用paramiko在远程机器上通过ssh执行长时间运行的python脚本.工作就像一个魅力,到目前为止没有问题.

不幸的是,stdout(分别是stderr)只在脚本完成后显示!但是,由于执行时间的原因,我更倾向于在打印时输出每个新行,而不是之后.

remote = paramiko.SSHClient()
remote.set_missing_host_key_policy(paramiko.AutoAddPolicy())
remote.connect("host", username="uname", password="pwd")

# myScript produces continuous output, that I want to capture as it appears    
stdin, stdout, stderr = remote.exec_command("python myScript.py")
stdin.close()
for line in stdout.read().splitlines():
    print(line)
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标? 注意:当然可以通过另一个ssh会话将输出传输到文件并"减少"此文件,但这非常难看,我需要一个更清洁,理想的pythonic解决方案:)

python ssh interactive stdout paramiko

17
推荐指数
4
解决办法
4万
查看次数

添加完成(交互式)

有没有办法将自己的完成添加到(interactive)elisp函数中?理想情况下,我想传递一个字符串列表,它可以从中完成.我知道,使用(interactive "D"),(interactive "F")(interactive "b")分别给你的目录,文件和缓冲区名完成,但对于更广泛的投入?

emacs elisp interactive

16
推荐指数
1
解决办法
1600
查看次数

有没有办法自动抑制Matlab在命令窗口中打印大矩阵?

在matlab或插件/应用程序或技巧中是否有选项,如果您处于交互式命令会话中,每次打印出一个太大而无法让人看的矩阵,它会将输出编辑为警告矩阵有多大或矩阵的汇总(只有几行和几列)?

有很多次我想在命令窗口中检查一个矩阵,但我没有意识到它有多大,所以我不小心将整个事情打印出来.或者在函数内部的某些地方,我没有自己编码,有人错过了分号,我把它交给了一个大矩阵,它将整个东西转储到我的命令窗口.

有意义的是,在99.99%的时间里,人们不打算在交互式命令窗口中打印一百万行矩阵,对吧?它完全阻止了它们的滚动缓冲区,并删除了之前在屏幕上显示的所有有用信息.

因此,matlab更自然地假设交互式会话中的用户想要输出大矩阵的摘要,而不是将整个事物转储到命令窗口中.在设置中至少应该有这样的选项.

matlab interactive interactive-session

16
推荐指数
1
解决办法
1649
查看次数

Matplotlib从图中删除补丁

在我的情况下,我想在单击重置按钮时删除其中一个圆圈.但是,ax.clear()会清除当前数字上的所有圆圈.

有人能告诉我如何只删除部分补丁吗?

import matplotlib.patches as patches
import matplotlib.pyplot as plt
from matplotlib.widgets import Button

fig = plt.figure()
ax = fig.add_subplot(111) 

circle1 = patches.Circle((0.3, 0.3), 0.03, fc='r', alpha=0.5)
circle2 = patches.Circle((0.4, 0.3), 0.03, fc='r', alpha=0.5)
button = Button(plt.axes([0.8, 0.025, 0.1, 0.04]), 'Reset', color='g', hovercolor='0.975')
ax.add_patch(circle1)
ax.add_patch(circle2)

def reset(event):
    '''what to do here'''
    ax.clear()

button.on_clicked(reset)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python interactive matplotlib

16
推荐指数
2
解决办法
1万
查看次数

在RStudio中绘制缩放和定位器

有没有办法locator()在RStudio情节缩放中启用功能?这仅适用于RStudio的较小窗口(默认右下角),但是当您单击已作为单独窗口打开的查看器时,不会捕获任何坐标:

plot(iris$Petal.Width, iris$Petal.Length)
locator()
Run Code Online (Sandbox Code Playgroud)

也许这里的答案是目前没有实现,这就是为什么我在网上找不到它的原因.

我正在使用RStudio版本0.99.491.

提前致谢.

plot interactive r rstudio

16
推荐指数
1
解决办法
3080
查看次数

在 R 中使用整数值代替数值(例如 1L 与 1)作为常量的好处

在 R 源代码中,大多数(但不是全部)函数使用整数值作为常量:

colnames <- function(x, do.NULL = TRUE, prefix = "col")
{
    if(is.data.frame(x) && do.NULL)
    return(names(x))
    dn <- dimnames(x)
    if(!is.null(dn[[2L]]))
    dn[[2L]]
    else {
        nc <- NCOL(x)
    if(do.NULL) NULL
        else if(nc > 0L) paste0(prefix, seq_len(nc))
        else character()
    }
}
Run Code Online (Sandbox Code Playgroud)

R语言定义说:

在大多数情况下,整数和数值之间的差异并不重要,因为 R 在使用数字时会做正确的事情。然而,有时我们想显式地为常量创建一个整数值。

  • 在哪些情况下需要强制常量使用整数值而不是简单地使用数值?例如,例如 1 会失败,但例如 1L 不会失败的示例是受欢迎的。
  • 相反,在哪些情况下不需要使用整数值(例如交互式使用与编程、使用常量索引等)?

问题是关于良好实践和基本原理,而不是关于“L”符号本身整数类和数字类之间的差异比较数字

integer interactive r function numeric

16
推荐指数
1
解决办法
796
查看次数