C#调用python脚本并传递参数的一种方法

最近正好用python做了一个程序,由于是没有UI界面,使用起来没那么方便,同事建议将他做一个UI界面,方便操作,但又由于不想搞什么QT或者是Tkinter(太麻烦,其实真正的原因是我更擅长C#,手动捂脸),自己最喜欢的就是C#的拖拽组件方式进行界面绘制,所以选择了visual studio使用C#语言编写winform程序,那么问题来了,需要给python脚本传递参数,之前没这么做过啊,但是脚本类的一般是可以传递参数的,那么问题来了:

1、C#里面怎么调用python脚本?

2、python脚本里面怎么获取参数?

先回答第一个:C#里面System.Diagnostics.Process.Start(这里面可以调用系统命令和程序),我们这里只需要这样写就可以调用C:\say.py脚本了,如下:

System.Diagnostics.Process.Start("python","C:\say.py");

如果需要传递参数的话,如传递一个字符串"hello",应该如下写法:

System.Diagnostics.Process.Start("python","C:\say.py hello")

第二个问题:python里面获取参数,需要import sys,如果需要获取上面提到的"hello"的话,应该是sys.argv[1],例如say.py脚本内容如下:

import sys

temp=sys.argv[1]

print("the word you inputed is",temp)

执行这个脚本并传递参数hello的时候结果打印出来的就是the word you inputed is hello

那么多参数传递时,sys.argv[1],sys.argv[2],sys.argv[3]等就分别代表第1个,第2个,第3个参数。

(0)

相关推荐

  • 多个库,多条路,Python 到底有多少命令行参数解析库?

    橡皮擦,一个逗趣的互联网高级网虫. 本篇博客将为你带来 10 个 Python 中的参数解析库,Python 自带的这些[模块军火库],一定要了解,毕竟多掌握一个库,你解决问题的时候就多了一条路. 文 ...

  • 如何优雅地解析命令行选项

    来源:Python 技术「ID: pythonall」 如何优雅地解析命令行选项 随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率. 自然而然地,我们 ...

  • 你真的会使用 Python 命令吗?

    我想你最常用到的 Python 命令就是运行 Python 脚本文件,像这样: python xxx.py 不过你知道为什么这样就可以直接执行 Python 代码么? 还有, Python 还有一些常 ...

  • python笔记26-命令行传参sys.argv

    前言 平常我们在用别人写好的python包的时候,在cmd输入xx -h就能查看到帮助信息,输入xx -p 8080就能把参数传入程序里,看起来非常酷. 本篇就来讲下如何在python代码里加入命令行 ...

  • jmeter压测学习38-通过Jython调用Python脚本

    前言 前面在 BeanShell 里面是通过 java 脚本实现请求的预处理,jmeter里面也可以调用python的脚本,需安装 jython.jar 的插件. Jython 是 Python 的纯 ...

  • 如何在Excel中调用Python脚本,实现数据自动化处理

    这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作. 说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5 ...

  • aardio 调用 Python 支持指定命名参数

    aardio 虽然小,但很适合借力打力,别的编程语言再强再好也可以为我所用,仅仅是能调用当然是不够的,我们还需要极简洁.极方便.极舒适才能借力打力得痛快. 不同编程语言总是有这样那样的区别,要跨越不同 ...

  • 如何在 Excel 中调用 Python 脚本,实现数据自动化处理

    这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理日常工作. 说起Excel,那绝对是数据处理领域王者般的存在,尽管已经诞生三十多年了,现在全球仍有7.5 ...

  • Delphi 调用C#编写的WebService 参数为Null解决方法

    今天测试.net 2.0的WebService,发现了一个大问题.就是无法获取参数,参数永远是null.当然了使用.net调用 没有任何问题,web测试页也正常.不论是Delphi7还是java调用的 ...

  • python 读取并显示图片的两种方法

    在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. ...

  • Python反转三位整数有几种方法?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • Python中实现二分查找的2种方法?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • 【更新版】如何快速处理S参数的几种方法

    编者注:S参数应用范围越来越广!如果电子工程师不懂S参数,怎么选择物料?SI/PI工程师不懂S参数,何谈仿真和设计?EMC工程师不懂S参数,如何设计和解决EMC问题?RF工程师不懂S参数,也就不要玩啦 ...