labVIEW cmd执行多行命令 Python


我最近做的内容主要是Labview与Python的联合使用,在LabVIEW中实现Python代码的调用。
调用的方式主要有两种,在 西安气象爱好者简书中写的比较好。

1、使用LabVIEW中的Python接口

这样可以直接调用Python接口,方便传入参数,但是对于Python的版本要求较高,必须是2.7或者3.6版本,其他的不兼容,之前我都是在Anaconda里面安装的Python,这次安装的3.6版本是按照网络上搜到的方法,从官网上下载,可参考 这篇,安装完之后再安装opencv的时候总是装不上去,用pip也有问题,opencv没法用,那我LabVIEW调用.py文件几乎没有必要了,但是先把这条路走通,传递简单的参数,获取Python的返回值,以备后用。

Python接口
TEST.py文件程序

def main():
    print('dfgaggg')
    return 'hello'

显示的结果就是下图,我们可以看到调用Python接口返回的值是.py程序中return的值,这点也是和调用命令行窗口不同的地方。
下图
这是简单的字符串,也可以把输入类型变为数值型,就像接下来的这个
在这里插入图片描述
此时的TEST.py文件程序

import math
def main(a,b):
    print('dfgaggg')
    return a+b

返回的值自然也是数值型
在这里插入图片描述
这个参数的传递与返回值的获取是真滴方便,奈何我的Python3.6一直装不上Opencv,只能另辟蹊径

2、使用LabVIEW中的执行系统命令接口

按照 这篇中介绍的通过执行系统命令接口,使用Python运行.py文件,但是不方便传参数,同时返回值的获取需要使用print打印字符串,限制较多。

同时我的Python里面同样没有Opencv,所以按理说这个的结果是和第一种方法一样,但是!!

我发现我安装的Anaconda里面有一个AnacondaPrompt.lnk文件,.lnk是快捷方式,我记不得具体路径是什么,在属性里面也没有看出什么头绪,找的话只好在Anaconda安装目录下搜索,应该是可以找到。

在后来的学习搜索过程中,我又发现了直接进入这种状态的方法,参考这篇 cmd找不到conda以及通过cmd启用Anaconda中的Python环境(base)

在这里插入图片描述使用AnacondaPrompt.lnk的窗口和cmd不一样,这个直接是进入了Anaconda中安装的root(base)环境,这个环境中是有Opencv,这样就可以调用Opencv了,就是传参数不好传,目前的方法就是把参数保存到本地文件,之后在.py文件中读取本地文件,在用VisualStudio中调用的Python使用同样的方法。

具体实现方法如图:
在这里插入图片描述
前面的cmd /c是必须要有,不然不会启动cmd,没有的话是另外的两个方式,具体可以参考帮助文件,并不适用我们这种情况。cmd /c后面接的就是AnacondaPrompt.lnk,按照我的理解就是启动了Anaconda中的(base)Python环境,之后加一个|符号,再接上要调用的.py文件的完整路径,第二行又输入了一遍.py文件的完整路径是输入到控件的标准输入中,也是必须要,否则得不到返回值,具体原因不懂。。其他的关系就不大了。

此时.py文件中的程序为:

def main():
    print('dgfagfa')
    return 'hello'

main()

注意里面一定要有调用函数的名字main(),这个并不像第一种方法中已经告诉了程序要执行的是哪一个函数,所以在文件的最后一行需要写上要调用的函数。

执行的结果如图:
在这里插入图片描述
可以看到返回的值是print打印出来的内容,主要是由于命令行窗口接收的数据就是print的数据,因此这里接收的返回值就是命令行窗口接收到的数据。
在这里插入图片描述
要记录的就这些了,有用的话点赞啦


版权声明:本文为me_mechanical原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。