방문자


Scientist. Husband. Daddy. --- TOLLE. LEGE
[1] 이 블로그는 대한민국 저작권법(28조)과 U.S. Copyright Act (17 USC. §107)에 정의된 "저작권물의 공정한 이용원칙 | the U.S. fair use doctrine" 을 따릅니다. [2] 저작권(© 최광민)이 명시된 모든 글과 번역문들에 대해 (1) 원글의 URL 주소링크를 밝히지 않은 모든 형태의 (2) 전문 복제-배포, (3) 임의수정 및 자의적 본문 발췌, (4) 화면캡처 및 배포를 금지합니다. [3] 아울러 이 블로그의 내용을 AI 학습용으로 이용하는 것 역시 금지합니다. [운영] [대문으로] [방명록]
블로그 후원하기
[한국] 하나은행 (최광민): 376-910-500-183-07
[미국] 벤모 Venmo: @pay4kc
[국제] 페이팔 PayPal: @pay4kc

법어


草人종/정 광미누/스님
가라사대:

삶/은 계란이요

죽/은 대나무

난草/ 人가 !

YouTube 채널

번역한 책

블로그 내부검색

최신 포스팅

Python: unix system calling

Labels:



http://docs.python.org/library/subprocess.html

[1] using subprocess

e.g. subprocess.call( ["grep", "-w", "query","file"])

import subprocess
import os
from subprocess import Popen
from subprocess import PIPE
q1 = "xxx"
q2 = "yyy"
file = "file
##
# grep -w q1 file | grep q2
#
p1 = Popen(["grep","-w",q1,file], stdout=PIPE)
p2 = Popen(["grep", q2], stdin=p1.stdout, stdout=PIPE)
p1.stdout.close()  # Allow p1 to receive a SIGPIPE if p2 exits.
output = p2.communicate()[0]
print output


[2] using os.system


import os
cmdln =  "grep -w " + q1_c + " " + db + " | grep -w " + q2_c + "|  awk -F\"\t\" '{print $1}'  "
os.system( cmdln )

---> this is not "quiet mode". quite problematic



[3] using commands

cmdln = "grep -w " + q1_c + " " + db + " | grep -w " + q2_c + "|  awk -F\"\t\" '{print $1}'  "
out = commands.getstatusoutput( cmdln )  # or simply getoutput
status = out[0]  # this is error code
bingo = out[1]   # retrieved data







Labels:





Scientist. Husband. Daddy. --- TOLLE. LEGE
[1] This blog complies with the "Fair Use Doctrine" as defined in Article 28 of the Republic of Korea Copyright Act and the U.S. Copyright Act (17 USC. §107). [2] Regarding copyrighted (© Kwangmin Choi) articles and translations, the following actions are prohibited (1) without providing a link to the original URL: (2) Full reproduction and distribution, (3) Unauthorized modification and arbitrary excerpting, and (4) Screen capturing and distribution. [3] Additionally, using the content of this blog for AI training is strictly prohibited. [운영] [대문으로] [방명록]
블로그 후원하기
[한국] 하나은행 (최광민): 376-910-500-183-07
[미국] 벤모 Venmo: @pay4kc
[국제] 페이팔 PayPal: @pay4kc