ÆÄÀ̽ã 3.6 subprocess.Popen Áú¹®

   Á¶È¸ 6124   Ãßõ 0    

안녕하세요. 같은 질문을 다시 드리게 되었습니다.ㅠ

우선, 제가 사용하는 프로그램을 실행시키면 아래 그림과 같이 나옵니다.

중간에 "6번", "1번"과 같이 선택하는것도 나오구요. 그런데 궁금한 것은



위의 작업을 스크립트로 만드려고 하는데,

아래와 같이 짜 봤습니다. 

그런데 스크립트로 프로그램을 실행을 시키면 아래 그림처럼, 

위에서 프로그램 명령어로 실행했을 때 처럼 모든 정보들이 출력이 안됩니다.

위의 그림과 똑같이 출력이 되게 하고싶은데 어떻게 하는지 모르겠습니다.



제가 짠 코드에 대해서 조언 부탁드려 봅니다. (참고로 저는 매우매우 초보입니다. 쉽게 알려주시면 감사하겠습니다.)


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¹Î¿í´Ô 2017-02
stdin.write ´ë½Å ¾Æ·¡ ó·³ Äڵ带 ½áº¸¼¼¿ä ±×¸®°í __pycache__ ´Â ºôµåµÈ ÆÄÀ̽ã ÆÄÀÏÀÌ Àӽà ÀúÀåµÇ´Â °÷ÀÔ´Ï´Ù.
p = Popen(['grep', 'f'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)   
grep_stdout = p.communicate(input=b'one\ntwo\nthree\nfour\nfive\nsix\n')[0]
print(grep_stdout.decode())
     
³×ÀÌÃÄ 2017-02
´äº¯ °¨»çÇÕ´Ï´Ù~ ´äÀ» ´Ê°Ô º¸¾Ò½À´Ï´Ù.

¿ì¼±, decode¶ó´Â À̸§ÀÌ Á¤ÀǵÇÁö ¾Ê¾Ò´Ù°í ¿¡·¯°¡ ¶°¼­
¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇØ º¸¾Ò´Âµ¥,

    input_file = "1L2Y.pdb"
    command = "gmx pdb2gmx -f {0} -ignh -ter" .format(input_file)

    gmx_pdb2gmx = Popen(command, stdin=PIPE, stdout=PIPE, shell=True, universal_newlines=True)
    stdout = gmx_pdb2gmx.communicate(input="6\n1\n")[0]
    print(stdout)


stderr=STDOUTÀ» Æ÷ÇÔ½ÃÅ°´Ï±î, ¿ø·¡ Ãâ·ÂµÇÁö ¾Ê´ø Á¤º¸µéÀÌ Ãß°¡·Î Ãâ·ÂÀÌ µÇ¾î¼­ Á¦°Å¸¦ Çß½À´Ï´Ù.
±×·¯´Ï ¿øÇÏ´Â Á¤º¸µé¸¸ È­¸é¿¡ ´Ù Ãâ·ÂÀÌ µÇ±äÇÕ´Ï´Ù.
±×·±µ¥ Ãâ·ÂµÇ´Â Á¤º¸µéÀÇ ¼ø¼­µéÀÌ µÚÁ×¹ÚÁ×ÀÔ´Ï´Ù....
¼ø¼­¸¦ ¹Ù·Î ÇÒ ¼öµµ ÀÖÀ»±î¿ä?


QnA
Á¦¸ñPage 1910/5695
2015-12   1611289   ¹é¸Þ°¡
2014-05   5074221   Á¤ÀºÁØ1
2005-05   6122   ¹ÚÁ¾´ë
2015-04   6122   ¾ÆÀÌÆ®¸®
2011-03   6122   ½ê²Ù¸£¹¶
2016-05   6122   ¹ÚÀº¼±
2008-02   6122   ÀÌÀ±ÁÖ
2017-06   6122   ȸ·ÎÀïÀÌ
2011-11   6122   motion
2014-08   6122   ¸Ó¶óÄ«´Âµ¥
2005-09   6122   ÇÔ¹®¼ö
2013-03   6122   ½ºÄ«ÀÌ
2013-04   6122   ÀÌÁ¾¿ø
2013-10   6121   Ä¡ºñ¶óºÎ
2012-11   6121   ÀÌÇØÇϸé¿À¡¦
2006-03   6121   ¼Û¿µ¿À
2008-07   6121   ÃÖ¸¶·ç
2014-02   6121   ³ªÆÄÀÌ°­½ÂÈÆ
2011-09   6121   °¡ºü·Î±¸³ª
2009-06   6121   ¿¹°ü½Å±Ô½Ä
2005-08   6121   ÀÓ¸í»ó
2016-10   6121   ¼ºÅõºÒÆÐ