On 5月8日, 下午5时39分, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > En Wed, 07 May 2008 23:29:58 -0300, <[EMAIL PROTECTED]> escribió: > > > > > On 5月7日, 上午9时45分, Justin Ezequiel <[EMAIL PROTECTED]> > > wrote: > >> On May 6, 5:19 pm, [EMAIL PROTECTED] wrote: > > >> > p1 = Popen(['netstat', '-an'], stdout = PIPE) > >> > p2 = Popen(['find', '"445"'], stdin = p1.stdout, stdout = PIPE) > >> > print p2.stdout.read() > > >> > It doesn't work. > >> > Because subprocess.Popen execute "find" like this. > > >> > C:\>find \"445\" > > >> > It adds a '\' before each '"'. > >> > How to remove the '\'? > >> > Thank you. > > >> cannot help with the backslashes but try findstr instead of find > > > Thank you. > > findstr doesn't need quotes, so it works. > > Build the command line yourself -instead of using a list of arguments-. Popen > doesn't play with the quotes in that case: > > p1 = Popen(['netstat', '-an'], stdout = PIPE) # using list > p2 = Popen('find "445"', stdin = p1.stdout, stdout = PIPE) # using str > print p2.communicate()[0] > > -- > Gabriel Genellina
Thanks very much. You solved my problem. -- http://mail.python.org/mailman/listinfo/python-list