我寫了一個Python包裝(pyprog)來運行程序(someprogram),像這樣:如何使Python程序處理here文檔?
...do some setup stuff in Python...
print("run [y=yes]")
CHOICE=input()
...do some setup stuff in Python...
if CHOICE == "y":
status=subprocess.call(["someprogram"])
sys.exit(status)
用戶想要使用一個shell腳本來運行程序,並使用在這裏給它輸入文件是這樣的:
#!/bin/sh
pyprog > pyprog.log << EOF
y
file1
file2
EOF
有沒有辦法產卵子,使得這裏的文件就可以了(在「Y」被由Python輸入()消耗,以及「文件1」和「文件2」繼續作爲一些程序的標準輸入)?現在,Python輸入()採用「y」,但其餘部分消失。
這裏「工作」是什麼意思?什麼不適用於您當前的解決方案? – 2011-03-25 17:18:54
你是否試圖將這裏的文件傳遞給子進程? – dfb 2011-03-25 17:19:42
是的,我試圖將這裏的文檔傳遞給子進程。現在,整個事情終止,因爲「someprogram」沒有得到輸入「file1」和「file2」。 – lik 2011-03-25 17:53:34