weixin_40187983
2018-06-10 14:45
采纳率: 73.6%
浏览 1.8k

如何用vb.net的界面,来传参数到python呢?

如题
我想使用vb.net界面来操作,这是python的页面,我想用图片界面
图片说明

如下
图片说明

请问如何实现呢
谢谢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2018-06-10 15:31
    已采纳

    strCMD传入你的180610_taobao_code.py
    你可以改一下python,让它直接从参数里获得3行输入。

    Module cmd

    Public Function runCmd(ByVal strCMD As String) As String

    Dim p As New Process

    With p.StartInfo

    .FileName = "cmd.exe"

    .Arguments = "/c " + strCMD

    .UseShellExecute = False

    .RedirectStandardInput = True

    .RedirectStandardOutput = True

    .RedirectStandardError = True

    .CreateNoWindow = True

    End With

    p.Start()

    Dim result As String = p.StandardOutput.ReadToEnd()

    p.Close()

    Return result

    End Function

    End Module

    已采纳该答案
    1 打赏 评论
  • weixin_40187983 2018-06-10 21:00

    to Caozhy
    我不太会用
    图片说明
    我这样写,没有任何反应,请问如何改呢?

    第二:python里,我三个参数是这样子,要如何改才能和vb.net连接呢
    图片说明

    打赏 评论
  • 李小六 2018-06-14 07:40

    这个属于典型的跨平台接口调用问题,我所知道的解决方法为:
    ①Python接口修改为Web服务(reset或其他),VB窗口通过HTTP调用本地或其他服务器上的接口;
    ②VB.Net编写一个执行系统命令的工具类,该工具可以执行系统命令或通过命令调用外部程序(如:使用rar/7z解压文件);
    Windows: cmd /c commandStr
    Linux: /bin/bash -c commandStr
    注意:
    A. 要妥善处理系统的标准输出流和错误输出流,及时读取/消耗输出流中的数据以避免死锁;
    B. Windows平台读取输出流用要使用合适的字符编码集以避免乱码:中文简体为GBK,中文繁体为BIG5,等等;
    C. 读取输出流不要使用一次读取一行的函数(readLine),因为命令行输出流的缓冲区较小,有可能缓冲区满了还没有到行尾,容易造成死锁。

    打赏 评论

相关推荐 更多相似问题