gpt4 book ai didi

c# - Python 和 C# : Is IronPython absolutely necessary?

转载 作者:太空狗 更新时间:2023-10-30 02:00:24 25 4
gpt4 key购买 nike

我主要是一名 C# 程序员,但有一个项目让我有 2 个选择:

  1. 调用 python 脚本(保存为 .py 文件)并处理返回值,或者...
  2. 用C#重写整个python脚本(共涉及6个.py文件)。

当然,如果我可以简单地实现选项 1,则选项 2 会浪费大量时间。此外,选项 1 是一个学习机会,而选项 2 完全是极客逃避。

所以,我的问题是:有没有办法在不使用 IronPython 的情况下构建 C# Process 对象来触发 .py 文件的脚本并捕获脚本的返回值?我对可能使用 IronPython 没有任何反对意见,我只需要尽快找到一个解决方案,所以如果我能避开 I.P.学习曲线,直到我有不那么紧急的工作要做,那将是最佳的。

谢谢。

最佳答案

使用Process.Start运行 Python 脚本。在 ProcessStartInfo 对象中,您指定:

  • FileName = Python 脚本的路径和文件名。

  • 参数 = 您要传递给脚本的任何参数。

  • RedirectStandardOutput = true(如果需要,还有 RedirectStandardError)

  • UseShellExecute = false

然后你会得到一个 Process 对象,你可以在它上面做一些事情,特别是:

  • 使用 Process.StandardOutput 读取 Python 脚本的输出。例如,您可以对此调用 ReadToEnd() 以获得包含整个输出的单个字符串,或者在循环中调用 ReadLine()

  • 使用Process.ExitCode读取脚本的返回码。

  • 使用 Process.WaitForExit 等待脚本完成。

关于c# - Python 和 C# : Is IronPython absolutely necessary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com