PY 파일을 통해 Bash 명령을 실행하는 방법은 무엇입니까? [반복하다]

PY 파일을 통해 Bash 명령을 실행하는 방법은 무엇입니까? [반복하다]

/usr/lib/python2.7/dist-packages/Mailnag/plugins/libnotifyplugin.py
다음 Python 스크립트는 명령이 ('zenity --info --text="You got new mail"')실행되지 않는 스크립트에서 추출됩니다 . 어떻게 작동하게 합니까? mail_count > 0
아래 줄이 작동 if mail_count > 1:하면 실행되기를 원합니다 .

if mail_count > 0:
    import os
    os.system('zenity --info --text="You got new mail"')   

if mail_count > 1:
    summary = _("{0} new mails").format(str(mail_count))
    if (mail_count - i) > 1:
        body = _("from {0} and others.").format(senders)
    else:
        body = _("from {0}.").format(senders)
else:
    summary = _("New mail")
    body = _("from {0}.").format(senders)

다음 "Testing.py" 스크립트를 넣고 /usr/lib/python2.7/dist-packages/Mailnag/plugins/Testing.py실행했는데 실제로 "새 메일이 있습니다"라는 메시지가 표시되었습니다.

#!/usr/bin/env python2
import os
os.system('zenity --info --text="You got new mail"')

답변1

sys 명령의 출력을 캡처할 필요가 없으므로 os.system괜찮습니다.
올려주신 코드는 괜찮은 것 같으니, zenitypython 스크립트가 실행되는 경로에서 실행 중인 명령어가 사용 가능한지 추측해 보세요.

출력이 유효한지 확인하려면 다음을 수행하십시오.

if mail_count > 0:
    import os
    result = os.system('echo "more than 0" > testfile')
    if result == 0:
        print("a testfile was created")

명령이 테스트 파일을 생성하면 문제가 해결되었음을 알 수 있습니다 zenity.

노트
이것은좋은 연습, import문장은 가능하면 문서의 시작 부분에 배치하는 것이 가장 좋습니다.

관련 정보