Possible Duplicate:
how to write in stdout after to call a method (doing a system of notifications automatic (Iphone))
我有以下脚本,我想在 django 应用程序中自动执行。问题是它不断要求用户输入。
我想知道如何自动传递用户输入?这是脚本:
from apns import APNs, Payload
apns = APNs(use_sandbox=True, cert_file='cert.pem', key_file='key.pem')
# Send a notification
token_hex = 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b87'
payload = Payload(alert="Hello World!", sound="default", badge=1)
my_pass_phrase = 'efisgbieafb3939bg93g238g4792gff9'
apns.gateway_server.send_notification(token_hex, payload)
问题发生在以下行:
apns.gateway_server.send_notification(token_hex, payload)
脚本要求:输入 PEM 密码短语:并等待用户输入。
我想知道如何自动传递密码。提前致谢!
最佳答案
因为您正在使用库,并且可能无法直接访问来禁止请求用户输入,所以您可能需要在调用此脚本的代码中使用 pexpect
模块观察输出中的特定模式,然后适本地发送输入:
http://pypi.python.org/pypi/pexpect-u/2.5.1
示例:http://www.noah.org/wiki/pexpect
可能是这样的:
import pexpect
child = pexpect.spawn('myAPNscript.py')
child.expect('Enter PEM pass phrase:.*')
child.sendline('FOO')
关于python - 如何将用户输入自动传递给Python脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429503/