从c#传递阿拉伯语参数到python脚本

时间:2015-08-20 06:47:20

标签: c# python argv sys processstartinfo

我想从c#传递阿拉伯字符串到python脚本。 然后我将输出写入txt文件。但我的阿拉伯字符串参数无法正确传递。它转变为“????”问号。

我尝试了一些代码,比如unicode,但它不起作用

if __name__ == '__main__':
    my_input = sys.argv[1]
    out = open("C:\\output.txt", "wb")
    p = unicode(my_input, encoding='utf-8')
    out.write(p)
    out.close()

此外我的c#代码就是那样

public static string run_cmd(string args)
{
    ProcessStartInfo start = new ProcessStartInfo();
    start.FileName = "C:/Python27/python.exe";
    start.Arguments = "C:/test.py" + " " + args;
    start.UseShellExecute = false;
    start.RedirectStandardOutput = true;
    using (Process process = Process.Start(start))
    {
        using (StreamReader reader = process.StandardOutput)
        {
           result = reader.ReadToEnd();
        }
    }
}

您有什么想法我该如何解决这个问题? 或者有什么我想念的东西?

任何想法都会很棒!

0 个答案:

没有答案