问题标签 [nuke]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
14264 浏览

python - 我可以使用别名从 python 脚本执行程序吗

我对 python 脚本几乎是全新的,所以请原谅任何愚蠢的问题,但任何人都可以提供任何帮助将不胜感激。

我正在尝试编写一个 python 脚本供其他人使用,并且在其中我需要调用一个我并不总是知道路径的程序。为了解决这个问题,我要求用户提供程序的路径,这将起作用,但我不希望用户每次运行脚本时都必须提供路径,所以我一直在尝试设置一个 bash通过将脚本添加到 ~/.profile 和 ~/.bashrc 文件中来获得别名。

然后我可以使用别名从交互式 bash shell 运行程序,但是当脚本尝试运行它时,我收到“找不到命令”错误...

我尝试重新采购 .bashrc 文件并使用“shopt -s expand_aliases”命令,但没有成功。

我的 ~/.bashrc 看起来像这样:

这段脚本看起来像这样:

但是一旦脚本到达这一点,它就会返回:

我做错了什么还是有另一种方法可以永久存储程序的路径?

0 投票
3 回答
132471 浏览

python - 如何写入 Python 子进程的标准输入?

我正在尝试编写一个启动子进程并写入子进程标准输入的 Python 脚本。如果子进程崩溃,我还希望能够确定要采取的行动。

我试图启动的过程是一个名为的程序nuke,它有自己的内置 Python 版本,我希望能够向它提交命令,然后在命令执行后告诉它退出。到目前为止,我已经弄清楚,如果我在命令提示符下启动 Python,然后nuke作为子进程启动,那么我可以输入命令nuke,但我希望能够将这一切都放在一个脚本中,以便主Python 程序可以启动nuke,然后写入它的标准输入(因此写入它的内置 Python 版本)并告诉它做一些时髦的事情,所以我写了一个这样开始的脚本nuke

然后什么也没有发生,因为nuke正在等待用户输入。我现在将如何写入标准输入?

我这样做是因为我正在运行一个插件nuke,导致它在渲染多个帧时间歇性地崩溃。所以我希望这个脚本能够启动nuke,告诉它做某事,然后如果它崩溃,再试一次。因此,如果有一种方法可以捕捉崩溃并且仍然可以,那就太好了。

0 投票
2 回答
5445 浏览

python - 在运行时与 python 子进程通信

我运行一个以“命令”模式运行软件的子进程。(这个软件是 The Foundy 的 Nuke,如果你知道那个软件的话)

在命令模式下,该软件正在等待用户输入。此模式允许在没有任何 UI 的情况下创建合成脚本。

我已经完成了启动进程的这段代码,找到应用程序何时启动,然后我尝试向进程发送一些命令,但标准输入似乎没有正确发送命令。

这是我为测试此过程所做的示例代码。

当我在 shell 中运行 nuke 并发送相同的命令时,我得到的是:

知道为什么标准输入没有正确发送命令吗?谢谢

0 投票
4 回答
254 浏览

python - 一点编程数学

只是想知道是否有人可以帮助我解决我遇到的一些编程数学问题。

我要创建的是 Nuke (vfx) 的提交脚本(使用 python 和 .bat)。我遇到的问题是我无法弄清楚如何将剩余的帧添加到已经计算的堆栈中。

为了更清楚...

在 Nuke 中,我必须渲染 20 帧。我有 16 个线程。Nuke 仅使用 1 个线程。我想编写一个脚本,它需要帧数并将其除以线程数,然后使用 python 写出一个 bat 文件。问题来了,当我有剩余时。我想取剩余部分并将其应用回渲染堆栈。

示例(第一个循环)

完成此操作后...余数为 4。我希望将余数分配给线程。所以...

示例(第二个循环)

4 被添加到前几个线程中,总共 20 帧。

我将非常感谢任何人提供的任何帮助、提示和评论。:)

谢谢

0 投票
2 回答
273 浏览

python - 如何与 getattr() 结合使用 lambda: 在 python 中动态加载 python 模块?

从环境(它是一个名为 nuke 的图形程序)中获得了一个全局对象,我可以在其中添加菜单项并将其与函数连接。这个全局对象的工作方式如下:

我想动态读取python模块并将模块函数添加为全局菜单对象中的一个项目。我写了一个类来做到这一点。我的课程的简化版本:

动态导入效果很好。但是每个生成的菜单项都链接到最后一个导入的函数。这样每个菜单项都一样。

我不是专业的程序员。所以我认为我犯了一个简单的错误。

谢谢你的帮助。

0 投票
2 回答
1272 浏览

python - 将 Maya 模块导入 Nuke (Python)

我可以通过 Python 2.7 IDE 轻松导入 Maya 模块,但是在使用 Nuke 的脚本编辑器时,我无法导入 Maya 并出现“No module named maya”错误

有什么帮助吗?

0 投票
2 回答
1870 浏览

python - Python中的子进程Popen函数

我目前正在使用它来调用server.py,它是通过以下方式设置的

我是否可以使用 subprocess.popen 将参数传递给我的 imageScale 函数,即我直接从子进程传递参数源、目标和缩放

0 投票
1 回答
1412 浏览

python - 使用 simpleparse EBNF 解析 nuke 脚本

我正在尝试使用以下 EBNF 传递一个 nuke 脚本(foundry .nk 文件),但我似乎在我的“内容”文字中捕捉到了太多。此外,我很确定我在格式化时犯了一些重大的菜鸟错误。谁能帮我一把?

EBNF:

核子脚本:

当前的 EBNF 阻塞了“视图”旋钮值。通过从节点中删除它,我的代码按预期工作。我的完整代码在这里: http: //pastebin.com/z01RWpqW

谢谢

0 投票
2 回答
8051 浏览

python - Nuke Python - 如何单独设置 XY_Knob 的值?

背景

我正在用 Python 构建一个非常酷的工具。不知何故,到目前为止,我已经能够自己弄清楚所有困难的部分,但这部分有我!

问题 我试图单独设置一个(x, y)XY_Knob。这是我的问题:

如果我输入:

它会将 X 和 Y 都设置为 1205。如果我输入:

它不会给我一个错误,而只是Result:在脚本编辑器中打印,而节点上没有任何更改。

任何人都可以添加一些见解吗?

0 投票
2 回答
415 浏览

python - 命令行参数 Mac OSX

我正在开发一个名为 Foundry Nuke 的软件。在 Mac OSX 中传递命令行参数时遇到问题。

如果我使用以下命令,它可以正常工作并启动 Nuke 软件。

但是,如果我在命令中添加参数,它就不起作用。 subprocess.Popen(['Application/Nuke6.3v8/Nuke6.3v8.app/Contents/MacOS/Nuke6.3v8', '-t /.../somepath/init.py', '%s %s' % (someArg1, someArg2)], stdin=subprocess.PIPE, stdout=subprocess.PIPE)

请帮助。

提前致谢