python 에서 시스템 명령어 사용시 변수값 지정하는 법을 알고 싶습니다.

환이의 이미지

kldp 의 도움으로,, 많은걸 얻어가고 있네요.

여기서 얻은 답변으로 다음과 같은 구문을 사용했습니다.

a = raw_input('input:')

os.system('sed -e \'s,\\(\\#test.*\\),\\1\\n테스트,g\' test.txt')

test.txt 파일을 읽어 #test 다음줄에 테스트라는 글씨를 넣는건데요

저 테스트란에 a 변수를 넣고 싶습니다.

혹시나해서

os.system('sed -e \'s,\\(\\#test.*\\),\\1\\n%s,g\' test.txt') % a

이래 하니까 %s가 그대로 출력 되더군요 ;;

도움좀 부탁 드립니다 ㅠ

suapapa의 이미지

>>> 'sed -e \'s,\\(\\#test.*\\),\\1\\n%s,g\' test.txt'
"sed -e 's,\\(\\#test.*\\),\\1\\n%s,g' test.txt"
>>> a = 'Somthing'
>>> 'sed -e \'s,\\(\\#test.*\\),\\1\\n%s,g\' test.txt'%a
"sed -e 's,\\(\\#test.*\\),\\1\\nSomthing,g' test.txt"
환이의 이미지

음. 원래 os.system() 안에 넣으면 변수값으로 변경을 못시키나요?

변수를 입력받아서 그 값을 대입 하려고 하는데...

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

os.system('sed -e \'s,\\(\\#test.*\\),\\1\\n%s,g\' test.txt' % a)

:)

환이의 이미지

참 바보같이!! ㅠㅠ

감사합니다~!