2012-05-07 3 views
1

파이썬 2.7에서 터미널 (우분투)과 같은 명령을 호출하려면 어떻게해야합니까? 그래서 우분투의 터미널에서 사용할 수있는 nfc-mfclassic을 사용하고 싶습니다 ... 누군가 .. 내가 파이썬하십시오에서 그것을 사용하는파이썬에서 서브 프로세스 모듈을 사용하는 방법

을 도울 수있는 내가이 일을 실행

Usage: nfc-mfclassic r|w a|b <dump.mfd> [<keys.mfd>] 
    r|w   - Perform read from (r) or write to (w) card 
    a|b   - Use A or B keys for action 
    <dump.mfd> - MiFare Dump (MFD) used to write (card to MFD) or (MFD to card) 
    <keys.mfd> - MiFare Dump (MFD) that contain the keys (optional) 
Or: nfc-mfclassic x <dump.mfd> <payload.bin> 
    x    - Extract payload (data blocks) from MFD 
    <dump.mfd> - MiFare Dump (MFD) that contains wanted payload 
    <payload.bin> - Binary file where payload will be extracted 

답변

1

당신은 서브 프로세스를 직접 사용할 수 있습니다 (우분투) 단자에 nfc-mfclassic r a dumptest.mfd하지만, 아주 좋은 서브 프로세스 래퍼의 부부에게있다 그 너의 삶을 훨씬 쉽게 만들어 줄거야.

나는 PBS을 좋아 :

PBS 동적으로 파이썬 기능에 시스템 프로그램을 매핑하는 고유의 서브 프로세스 래퍼입니다. PBS는 Python의 모든 기능과 유연성을 통해 Bash (쉬운 명령 호출, 쉬운 파이핑)의 좋은 기능을 제공하여 Python에서 쉘 스크립트를 작성할 수 있도록 도와줍니다.

예 :

import pbs 
print pbs.nfc_mfclassic("r", "a", "dumptest.mfd") 

당신이 반복 응용 프로그램을 처리 할 경우, 아마도 당신이 pyexpect 같은 것을 찾아야한다 :

# This connects to the openbsd ftp site and 
# downloads the recursive directory listing. 
import pexpect 
child = pexpect.spawn ('ftp ftp.openbsd.org') 
child.expect ('Name .*: ') 
child.sendline ('anonymous') 
child.expect ('Password:') 
child.sendline ('[email protected]') 
child.expect ('ftp> ') 
child.sendline ('cd pub') 
child.expect('ftp> ') 
child.sendline ('get ls-lR.gz') 
child.expect('ftp> ') 
child.sendline ('bye') 
+0

가 나에게 매우 유용합니다, 정말 감사합니다 – user1376294

관련 문제