问题标签 [execfile]

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 投票
2 回答
608 浏览

python - 自定义调度程序具有带有超时/终止开关的顺序 + 半顺序脚本?

下面是我的代码的很大一部分,基本上,如果您向下滚动到该execute_subscripts()函数,您可以看到我运行了两个脚本,它们运行良好execfile,它们显示prints,它们将traceback错误保存到错误文件中。

我正在尝试将第二个脚本变成一个不等待自己完成然后再转到下一个脚本的脚本。

如您所见,我试图使用subprocesswithPopen来启动一个无声的隐藏窗口......但是它似乎没有运行,我不知道如何p.communicate()正确使用该函数来检索tracebacks和/或prints.

我还...需要帮助创建某种超时/终止开关,因此如果下标通过Popenexecfile路由未在 5 分钟内完成,它会跳过该循环或重试并跳过,如果它立即再次失败.

我知道我可能不应该使用strftime这个时代......但是那部分对我来说很好,所以我认为没有必要改变它。

任何想法将不胜感激

添加了赏金,希望有人知道如何实现这一目标。

在此先感谢
Hyflex

我希望脚本能够执行的操作示例...

  1. 下标 1 - 在后台运行,将打印和错误从 subscript1.py 发送到 main.py,不要等待它完成,转到下标 2,10秒后超时(或尽可能接近 10 秒,或超时在调用了所有下标之后。)

  2. 下标 2 - 在后台运行,将打印和错误从 subscript2.py 发送到 main.py,在进入下标 3 之前等待它完成, 10 秒后超时(或尽可能接近 10 秒,或者毕竟超时下标已被调用。)

  3. 下标 3 - 在后台运行,将打印和错误从 subscript3.py 发送到 main.py,在进入下标 4 之前等待它完成, 10 秒后超时(或尽可能接近 10 秒,或者毕竟超时下标已被调用。)

  4. 下标 4 - 在后台运行,将打印和错误从 subscript4.py 发送到 main.py,不要等待它完成,转到下标5,10 秒后超时(或尽可能接近 10 秒,或者调用所有下标后超时。)

  5. 下标 5 - 在后台运行,将打印和错误从 subscript5.py 发送到 main.py,等待它完成后再进入下一个下标(或者在这种情况下,循环结束), 10 秒后超时(或接近10 秒,或者在调用所有下标后超时。)

shx2 的打印和追溯

编辑:http://i.imgur.com/rmXtrOq.png

希望这有助于直观地表示我想要实现的目标

0 投票
1 回答
448 浏览

python - windows的execfile调用函数超时?(信号替代?)

就像标题所说的那样,我正在尝试运行一些execfile调用,但我正在寻找一个超时选项,这样如果我的被调用脚本需要超过 10 秒才能运行,那么它将终止被调用脚本并继续......

信号库/包仅适用于 UNIX,我在 Windows 上,所以我有点卡住了。

有任何想法吗?

0 投票
1 回答
2218 浏览

python-2.7 - Python:NameError:未定义全局名称“x”

在我的main()函数中,我打开一个配置文件:

config.conf 看起来像这样:

后来,我使用cfg[x],这给了我NameError: global name 'x' is not defined. 我从这里举了一个例子,我如何使用它,对我来说看起来是正确的。

为什么我会收到这个错误?

0 投票
2 回答
3519 浏览

python - 具有自动相对路径的 execfile

我需要能够从工作目录外部通过 execfile() 调用 python 脚本,而无需每次通过解释器指定相对文件路径。

代替:

我需要打电话:

是否有一个 sys.path 我可以添加它以使其工作?目录是固定的,工作目录和文件的位置也是固定的。期望用户可以将文件放到 UserScripts 目录中,并期望能够通过解释器调用它而无需相对文件路径。

0 投票
2 回答
2274 浏览

python - 在 Python 方法中执行 execfile()

我有一个包含 PREAMBLE 信息的 config.py 脚本。我可以使用 execfile() 函数来读取配置文件的内容。

但是,当在方法中调用 execfile() 时,出现错误。

出了什么问题以及如何解决此问题?

0 投票
2 回答
156 浏览

python - python:函数*有时*维护对其模块的引用

如果我执行一个模块,并删除所有(我的)对该模块的引用,它的功能将继续按预期工作。这很正常。

但是,如果该 execfile'd 模块导入其他模块,并且我删除了对这些模块的所有引用,则这些模块中定义的函数开始将它们的所有全局值视为无。当然,这会导致事情以一种非常令人惊讶的方式失败(例如,字符串常量上的 TypeError NoneType)。

我很惊讶口译员在这里做了一个特殊情况;execfile似乎没有足够的特殊性来导致函数在模块引用中表现不同。

我的问题:对于由 execfile'd 模块导入的模块,是否有任何干净的方法可以使 execfile 函数行为递归(或在有限上下文中全局)?


给好奇的人:

该应用程序是在 buildbot 下可靠的配置重新加载。buildbot 配置是可执行的 python,无论好坏。如果可执行配置是单个文件,则一切正常。__import__如果将该配置拆分为模块,则由于and的语义,来自顶级文件的任何导入都会卡在原始版本中sys.modules。我的策略是在配置前后保持 sys.modules 的内容不变,这样每次重新配置看起来就像一个初始配置。除了上述函数全局参考问题外,这几乎可以工作。


这是该问题的可重复演示:

0 投票
2 回答
44 浏览

python - Python解释器与脚本的关系

在我当前的目录中,我有一个foo1.py脚本和一个名为 other 的目录,foo2.py里面有一个脚本。

现在:

我启动解释器,并使用execfile我可以启动两个脚本。问题是,当我编辑和保存时foo1.py,我不必重新启动解释器,我只需execfile再次启动它,它会随着我的修改运行,但同样的情况不会发生在foo2.py. 为了使我所做的编辑foo2.py生效,我必须退出并重新启动解释器,因为即使在保存之后它execfile('foo2.py')也会像以前一样运行相同的脚本......

这很烦人,因为我想不断地连续编辑和启动多个脚本,这些脚本经常相互依赖......

我怎样才能让解释器看到我对 的编辑foo2.py,而不必重新启动它?

谢谢!

0 投票
1 回答
8088 浏览

javascript - 节点js child_process.exec文件返回

我需要用 node.js 在 C++ 中运行一个编译文件,并从这个文件中带回一个值。我尝试使用 child_process.execFile,但我没有问题。这是我使用的功能:

问题是“console.log”中的 wRet 包含从文件 c++ 返回的文本,在“return”中仍未定义。

你能帮我吗?

谢谢你们!

0 投票
1 回答
1908 浏览

python - 在 Python 3 中调用 python 编译文件

我安装了多个 Python 版本(2.7 和 3.4) 我想用指定版本的 Python 运行 .pyc

这个sheebang在Windows上运行良好,因为我使用pylauncher 所以我可以这样编译

但是当我执行 pyc 文件时,无法识别 sheebang。

这可行,但我不想重复C:\python34\python 因为当前脚本已经在我在 shebang 中询问的 Python 版本下运行。因此,我想让子程序以相同版本的 Python 启动。

到目前为止,我尝试过:

这将是完美的,但不喜欢 pyc 文件。以下内容也不起作用:

有人知道如何在代码中调用 pyc 文件吗?

0 投票
2 回答
415 浏览

python - 使用 pyinstaller 制作 Exe 文件

如果假设我在我的 python 脚本中使用函数 execfile,然后我使用 pyinstaller 将该 python 脚本转换为可执行文件,那么该可执行文件会工作吗?pyisntaller 所做的是查找 import 语句,然后包含那些在我的脚本的导入语句。我在脚本中包含的图像可以通过将它们复制到 pyinstaller 创建的 dist 文件夹中来处理,但是如何处理我在 execfile 函数中提到的脚本。

我只想知道一种将包含 execfile(从原始脚本中调用另一个脚本)的 python 脚本转换为可执行文件的方法