我正在寻找使用X3270终端仿真器。我http://x3270.bgp.nu/查看了此源材料,但仍未看到如何开始使用该工具或对其进行配置。
我很想知道如何打开终端并连接。另一个问题是如何将它集成到python程序中?
编辑: 这是一个片段:
em = Emulator()
em.connect(ip)
em.send_string('*user name*')
em.exec_command('Tab')
em.send_string('*user password*')
em.send_enter()
em.send_enter()
em.wait_for_field()
em.save_screen("{0}screenshot".format(*path*))
查看保存屏幕,我看到光标没有移动?我可以使用
移动光标em.move_to(7,53)
但之后我没有收到任何文字。 任何想法?
答案 0 :(得分:4)
这就是我的所作所为;它100%的工作时间:
from py3270 import *
import sys, os
host = "%s" % sys.argv[1].upper()
try:
e = Emulator()
e.connect(host)
e.wait_for_field()
except WaitError:
print "py3270.connect(%s) failed" % (host)
sys.exit(1)
print "--- connection made to %s ---" % (host)`
如果您还没有与主机建立网络连接,那么wait_for_field()呼叫将等待整整120秒。无论我做什么,我似乎都无法影响超时的长度。
但是你的用户不必等那么久,只需让他用KeyboardInterrupt杀死你的脚本。希望您的用户将逐渐习惯于成功等同于显示..." ---连接..."如果主持人没有回复,他就会知道自己遇到了麻烦。
我需要指出的一点是:您没有连接到终端(如您所述),而是连接到主机。该主机可以是VTAM连接,也可以是某种类型的LPAR,通常是TSO或z / VM,有时是CICS或IMS,VTAM会将您带到。每种主机都有不同的提示&您可能需要测试的屏幕内容,有时这些内容会有所不同,具体取决于您尝试连接的系统。您的脚本将成为"终端",具体取决于您要向用户显示的内容。
您接下来需要做什么取决于您尝试与之交谈的系统类型。通过VTAM? (需要先选择VTAM应用程序吗?)到z / VM? TSO?你是登录还是DIALing?当您使用图形x3270 / c3270终端时,您必须使用的下一个按键/字段是什么?您需要知道这一点才能选择下一个命令。
祝你好运!答案 1 :(得分:1)
请先阅读上面的评论 - 了解更多有关您需要做的事情会很有帮助。
考虑到......你看过https://pypi.python.org/pypi/py3270/0.1.5的py3270包吗?摘要说它与x3270对话。