Shell命令不从vb.net执行我的.py文件

时间:2017-06-28 20:31:18

标签: python vb.net execute

我想知道是否有人可以指出我正确的方向。 我正在尝试编写一个运行一个大约10行的简单python程序的VB应用程序,然后应该返回VB并等待xyz.py创建的excel文件来读取它的细胞。

问题我无法让文件执行。

我试过了

 Shell("C:\Users\Clive\AppData\Local\Programs\Python\Python36\python.exe C:\Users\Clive\Documents\xyz.py") 

也:

 System.Diagnostics.Process.Start("C:\Users\Clive\Documents\xyz.py") 

这些都不起作用。 在我们进行双击之前xyz.py给我一个正确的结果以及从命令行运行。 我错过了参考文献吗?

提前感谢!

克里夫

2 个答案:

答案 0 :(得分:0)

您使用的代码应该可以正常工作。但这对我有用

Shell("py C:\fakepath\xyz.py")

如果py不在您的PATH环境中,您可以在C:\ Windows \ py.exe

找到它

答案 1 :(得分:0)

它对我有用。 首先是一个生成csv文件的python3脚本:

import csv
with open('order.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
    writer.writerow(['name', 'amount'])
    writer.writerow(['ham', '3'])
    writer.writerow(['egg', '2'])
exit(1)

然后是一个vb app来调用python脚本并读取生成的csv文件:

Imports System.IO
Module App
    Sub Main()
        Process.Start("C:\Projects\PythonVbInterop\PythonVbInterop\script.py").WaitForExit()
        For Each line In File.ReadAllLines("Order.csv")
            Console.WriteLine(line)
        Next
    End Sub
End Module