从 C# 运行多个 python 脚本

2024-07-01

我希望有人能够在这里帮助我。我对 C# 比较陌生,正在尝试执行我在 C# winform 应用程序中编写的一些 Python 代码。

我想做的是从 winform 中的文本框中输入名称,并让它通过 python 脚本进行处理,并在 winform 上的另一个文本框中返回结果。

我发现了几个关于如何在 C# 中执行单个脚本的好示例,但我在理解如何引用多个脚本时遇到了一些困难。

举个例子,我有一个 python 脚本,它在代码中引用了另外两个脚本

from FindTelephone import *
from FindAddress import *

def createPerson(name)
  telephone = FindTelephone(name)
  address = FindAddress(name)
....

有没有办法在运行我的主脚本之前让 C# 指向我的其他 python 脚本的引用?

先谢谢您的帮助。

Marshall


就像这些帖子一样?:从 C# (.NET) 调用 Python 函数 https://stackoverflow.com/questions/35462175/call-python-function-from-c-sharp-net, 从 C# 运行 python 脚本 https://stackoverflow.com/questions/11779143/run-a-python-script-from-c-sharp?

Or

您可能想调查一下蟒蛇网 http://pythonnet.sourceforge.net/readme.html.

Or

如果您想要更简单的方法来执行此操作,那么我建议使用铁蟒 http://ironpython.net/documentation/代替普通的Python。 IronPython 是 Python 编程语言的开源实现,与 .NET Framework 紧密集成。这意味着它更容易与 C# 和 Windows 窗体一起使用,并且看起来几乎就像普通的 Python 一样。

Or

如果您使用 Visual Studio,VS 有一些 Python 工具可能会帮助您完成任务。Link https://www.visualstudio.com/en-us/features/python-vs.aspx。您可以找到更多文档Here http://www.codeproject.com/Articles/657698/Python-Visual-Studio-and-Csharp-So-Sweet最后一个链接是由 Jeedediah 从评论中提供的,因此如果您喜欢最后一个链接,请投票支持他的评论。

其他方便的链接:将 Python 与其他语言集成 https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C# 运行多个 python 脚本 的相关文章

  • 多处理和美好价值

    有谁知道在多处理中创建进程或池时设置进程或池的良好值的简单方法 os nice increment Add increment to the process s niceness Return the new niceness Availa
  • 如何在单击按钮时关闭 .exe 应用程序

    谁能告诉我如何使用 C 在单击按钮时关闭 exe 文件 我知道如何使用 C 在单击按钮时运行 exe 文件 如下所示 string str C windows system32 notepad exe process StartInfo F
  • 将 wav 文件存储在数组中

    我需要一种快速方法来将 wav 文件的所有样本存储在数组中 我目前正在通过播放音乐并存储来自示例提供程序的值来解决这个问题 但这不是很优雅 从 NAudio 演示中 我有带有此方法的 Audioplayer 类 private ISampl
  • 如何获取Python日志模块当前正在记录的文件?

    有没有办法做到这一点 如果logging config fileConfig some log 是setter 什么是getter 只是好奇这是否存在 对于我对单个文件日志的基本用法 这有效 logging getLoggerClass r
  • Python pandas 使用 read_hdf 和 HDFStore.select 从 HDF5 文件读取特定值

    所以我使用一个简单的数据集创建了 hdf5 文件 如下所示 gt gt gt pd read hdf STORAGE2 h5 table A B 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 使用这个脚本 import pan
  • 在文本文件中搜索字符串的更快方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要使用 C 在一组文本文件中搜索一个大约 13 个字符的字符串 文本文件的数量正在变化 范围在 100 1000 之间 文件大小范
  • 为什么“导入*”不好?

    建议不要使用import 在Python中 谁能分享一下原因 以便我下次可以避免这样做 因为它将很多东西放入您的名称空间中 可能会隐藏以前导入的其他对象 而您不会知道它 因为您不确切知道导入了什么 并且无法轻松找到某个东西是从哪个模块导入的
  • 仅仅“抛出”一次捕获有好处吗?

    与一位同事就他将大部分功能包装在 try catch 中的做法进行了 激烈辩论 但 catch 中只有一个 抛出 例如 Private sub foo try Do something catch throw And nothing els
  • 使用 plt 在热图上绘制梯度箭头

    我正在尝试绘制箭头以可视化热图上的梯度 这是我到目前为止的代码 import matplotlib pyplot as plt import numpy as np function to plot lambda x y x y 2 hor
  • 如何使 Selenium WebDriver 不等待整个页面加载

    我正在使用 python 2 7 和 Selenium webdriver for Firefox 我有一个无法解决或在互联网上找到解决方案的问题 我的任务是打开大约 10k 个网页 adsl 路由器 Web 界面 通过 IP 地址 并上传
  • 反序列化 jQuery 序列化表单

    我正在尝试将表单输入传递到 WebMethod 中并执行某些操作 我用了jQuery 序列化 http api jquery com serialize
  • Django 和原始 Python 之间的性能

    我想知道使用纯 python 文件制作网页和使用 Django 之间的性能差异是什么 我只是想知道两者之间是否有显着差异 谢谢 Django 是纯Python 因此每个类似语句或表达式的执行时间将是相同的 需要理解的是 在进行 Web 开发
  • Python Json 返回 AttributeError: __enter__

    为什么这会返回 AttributeError enter 排序方法只是根据列表的排序方式创建的字符串 当前时间使用 stfttime current time strftime Y m d H M S gmtime filename f K
  • 在heroku上运行c++程序

    我正在尝试在 Heroku 上运行 C 程序 我读过这篇文章 但是我没能成功 因为服务器上没有 g 或 gcc 我尝试像这样将 g 下载到服务器上sudo apt get install g 但是我没有root权限 我还尝试将 g 副本复制
  • 如何将 ContextMenuStrip 添加到 ToolStripMenuItem

    我希望当我单击菜单项时 显示一个包含 删除 重命名 等项目的上下文菜单 当右键单击菜单项时 如何将自身绑定为上下文菜单 我脑海中跳出的第一个想法是连接一些MouseDown事件于ToolStripMenuItem并显示第二个ContextM
  • C# / 面向对象设计 - 维护有效的对象状态

    设计类时 维护有效状态的逻辑应该合并在类内部还是类外部 也就是说 属性是否应该在无效状态 即值超出范围等 上引发异常 或者是否应该在构造 修改类的实例时执行此验证 它属于班级 除了类本身 以及它委托的任何助手 之外 没有任何东西应该知道或关
  • 如何加快读取压缩 HDF5 文件的速度

    我有几个大的 HDF5 文件存储在 SSD 上 lzf 压缩文件大小为 10 15 GB 未压缩大小为 20 25 GB 将此类文件的内容读入 RAM 进行进一步处理每个文件大约需要 2 分钟 在此期间 仅使用一个核心 但达到 100 所以
  • 如何将特殊字符 (0x80..0x9F) 写入 Windows 控制台?

    我想要这段代码 System Console Out WriteLine il display il代替oil正如我的测试程序中所做的那样 The Console OutputEncoding默认设置为Western European DO
  • “System.Int64”类型的表达式不能用于返回类型“System.Object”

    我正在尝试创建以下形式的表达式 e gt e CreationDate CreationDate属于类型long 但是我希望表达式返回一个object反而 我想用object作为返回类型 因为表达式是在运行时根据查询参数动态构建的 查询参数
  • “System.Int64”类型的表达式不能用于返回类型“System.Object”

    我正在尝试创建以下形式的表达式 e gt e CreationDate CreationDate属于类型long 但是我希望表达式返回一个object反而 我想用object作为返回类型 因为表达式是在运行时根据查询参数动态构建的 查询参数

随机推荐