찾다

 >  Q&A  >  본문

shell - python如何实现在一个脚本里的多次交互?

万恶的主管要求写一个针对于阿里云服务器的自动挂载的脚本,其实这种脚本不难,网上找找随便都有,但是比较恶心的是,主管非要求要用python去写,美其名曰“可读性强”。

于是本菜鸟为了绩效就开始写,但是写着写着就到了一个窘境,因为在 fdisk /dev/vdb的时候,是需要连续输入:“n p 1 回车 回车 p w ” 这六个信息需要反馈给系统才能顺利的分区,要是一次交互,到还好办,但是这样一次性要多次交互怎么破?难道必须要用pexpect去实现吗?

使用 os.system("fisk /dev/xvdb << End
n
p
1

p
w
End")
频频报错
本菜鸟环境是python 2.6.6

黄舟黄舟2783일 전783

모든 응답(1)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-18 09:32:31

    그냥 하위 프로세스를 사용하세요. 예를 들어 다음 프로그램에서는 이름과 나이를 입력해야 합니다.

    으아악

    다음과 같이 John과 20을 대화식으로 입력하여 위 프로그램을 호출할 수 있습니다.

    으아악

    StackOverflow에 이런 질문이 많아요!
    Python을 사용한 대화형 입력/출력
    Python 하위 프로세스 및 사용자 상호 작용
    Python - 문자열을 subprocess.Popen에 어떻게 전달합니까(stdin 인수 사용)?

    회신하다
    0
  • 취소회신하다