当我从python运行这个subprocess命令时,它看起来像python停滞并且从不输出任何东西:
msg = subprocess.call(['/Users/admirmonteiro/bin/Praat', '/Users/admirmonteiro/tmp/tmp.praat'])
但是当我从终端运行命令时,它会按原样运行和关闭:
Praat /tmp/tmp.praat
是否有人能够告诉我为什么python没有完成代码并且停滞不前并且没有输出任何东西?
谢谢!答案 0 :(得分:0)
您可以尝试确保stdin和stdout(或其他文件描述符)不会导致问题:
p = subprocess.POpen(
['/Users/admirmonteiro/bin/Praat', '/Users/admirmonteiro/tmp/tmp.praat'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
close_fds=True,
)
print p.communicate()
print p.wait()
答案 1 :(得分:-1)
private void buttonSearch_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("*some connection info*");
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "from C in Contact join P in Phones on C.[ID Επαφής] equals P.[ID Επαφής] where (P.Αριθμός = ('"+txtTelephone.Text+"')) select new {C.Επώνυμο, C.Όνομα, C.[Ημ. Γέννησης], P.[Περιγραφή Τηλεφώνου], P.Αριθμός}";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
}
应该是
msg = subprocess.call(['/Users/admirmonteiro/bin/Praat', '/Users/admirmonteiro/tmp/tmp.praat'])