我试图传递一个python列表的字符串表示形式,该列表存储了C#中Process的多个路径(后来,我想ast.literal_eval()
第一个参数):
ProcessStartInfo procStartInfo = new ProcessStartInfo("powershell", command);
procStartInfo.UseShellExecute = true;
procStartInfo.CreateNoWindow = true;
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.Start();
使用System.Console.Out.WriteLine(command)
时,我得到以下结果:
python D:\'Box Sync'\Python\PdfMerge\PdfMerge.py -f "['C:\\Users\foo\Desktop\foo_bar.pdf', 'C:\\Users\foo\Desktop\bar_foo.pdf']" -mt "i" -op "C:\Users\foo\Desktop" -on "output"
我可以将该行复制到我的PowerShell命令行中,执行后它就像一个超级按钮。但是,尝试执行脚本会导致错误:
PdfMerge.py: error: unrecognized arguments: C:\\Users\foo\Desktop\bar_foo.pdf ]
我知道字符串
"['C:\\\\Users\\foo\\Desktop\\foo_bar.pdf', 'C:\\\\Users\\foo\\Desktop\\bar_foo.pdf']"
与ast.literal_eval()
配合正常,所以我希望将其作为参数传递。我还尝试使用逐字字符串文字,但是我什么也无法工作...
我缺少明显的东西吗? 感谢您的帮助!