【问题标题】:How Can I Stop a SAS Data Step from Opening a Command Prompt如何阻止 SAS 数据步骤打开命令提示符
【发布时间】:2019-05-08 16:14:43
【问题描述】:

感谢您在 Stackoverflow.com 土地上的可爱人们,我已经成功地在我的 SAS 界面中执行了对 Python 代码的调用。我的下一个问题是:当我的数据步骤调用代码时,我会打开一个命令窗口,但其中没有任何内容。这似乎与 Python 代码的执行有关,这很好,但我不想让它弹出。如果用户关闭窗口,它会中断被调用的 Python 程序的执行。

我不确定在这里尝试什么,因为我不确定数据步骤是否有办法做到这一点。是否有一些我可能忽略的选项?

%let _loc = fancypath\Python Code.py;
filename temp pipe "C:\ProgramData\Anaconda3\python.exe ""&_loc""";

data _null_;
infile temp;
input;
put _infile_;
run;

理想情况下,我希望命令窗口不出现。如果你们知道抑制此窗口外观的方法,请告诉我。 谢谢!

【问题讨论】:

  • 尝试 noxwait noxsync 选项。

标签: sas command-prompt datastep


【解决方案1】:

编辑:使用 X 命令语句代替管道,以便您可以使用以下选项:

您正在寻找 XMIN、XWAIT、XSYNC 或 NOXMIN、NOXWAIT、NOXSYNC 选项。

XMIN 指定打开 X 命令中指定的应用程序 最小化状态或默认激活状态。

XSYNC 控制是否执行 X 命令或语句 同步或异步。也就是说,控制权不会返回给 SAS 直到命令完成。您无法返回您的 SAS 会话直到由 X 命令或语句产生的进程是 关闭。 XSYNC 是默认设置。

XWAIT 指定是否必须在 DOS 提示符下键入 EXIT DOS shell 关闭。

Documentation references is here.

【讨论】:

  • xmin、xsync 和 xwait 用于 x 命令,不影响管道或 systask
  • 将答案更改为包含,更改为 X 语句而不是管道格式。
  • 也许他实际上使用了输出
  • 你可以使用console=min选项,它会最小化命令提示符
猜你喜欢
  • 2014-04-10
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
  • 2022-08-22
  • 1970-01-01
  • 2022-06-20
  • 2021-09-18
相关资源
最近更新 更多