【问题标题】:How to detect in Iron Python what the script is being called from?如何在 Iron Python 中检测调用脚本的来源?
【发布时间】:2011-06-03 02:13:21
【问题描述】:

我有一个 ipy 脚本,可以从大型应用程序中的嵌入式控制台或直接从命令行调用,我正在寻找一种快速方法来确定在运行时发生的情况,而无需传递参数来区分事件。

此外,脚本必须同时在 mono/linux 和 .net/windows 上运行。

提前感谢您的帮助。

【问题讨论】:

    标签: .net mono ironpython


    【解决方案1】:

    您可以使用System.AppDomain.CurrentDomain.GetAssemblies()(当然,假设您不使用 AppDomain 隔离)并查看其中是否包含仅在您的应用程序运行时预设的程序集。

    【讨论】:

      【解决方案2】:

      这可能取决于您运行嵌入式代码的方式,但检查脚本是否从命令行运行的常用方法是:

      if __name__=='__main__': ....
      

      这也适用于您的情况。关于平台检查sys.platform.

      【讨论】:

      • 不幸的是,我们在应用程序中嵌入脚本的方式似乎会触发此检查。但是 sys.platform 很有用
      猜你喜欢
      • 2014-06-25
      • 2023-04-05
      • 2023-03-27
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多