我写了一个python脚本,创建了3个.txt文件,用于显示结果。当我试图在Visual Studio 2017中从C#运行脚本时,它运行脚本并给我正确的输出,但是python脚本不会创建任何.txt文件。我尝试直接从cmd运行相同的脚本,并且工作完美,py-charm也是如此。我也查看了visual studio项目的debug文件夹,但那里没有文件。任何建议,提前谢谢:D
public void run_script()
{
string scriptPath = @"C:\-\script.py";
Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"C:\Python27\python.exe", scriptPath);
p.Start();
p.WaitForExit();
p.Close();
答案 0 :(得分:2)
很可能,文件是正确生成的,但不是在您期望的位置。
尝试设置流程的WorkingDirectory
p.StartInfo.WorkingDirectory = @"c:\path\to\output";
或在python脚本中设置输出文件的完整路径。
答案 1 :(得分:0)
为了使事情更简单,请使用IronPython。 它是一个免费的开源库,可以从nuget获得它。
或通过nuget console:
Install-Package IronPython -Version 2.7.8.1
运行文件: 添加这些名称空间:
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
然后简单地说:
ScriptEngine pScript = Python.CreateEngine();
pScript.ExecuteFile(@"yourPythonFile.py");