首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X3270连接与编程

X3270连接与编程
EN

Stack Overflow用户
提问于 2013-08-05 08:57:45
回答 2查看 5.1K关注 0票数 1

我正在考虑使用X3270终端模拟器。我已经查看过这个源代码,但是我仍然不知道如何开始使用这个工具或者配置它。

我想知道我怎样才能打开终端和连接。另一个问题是如何将其集成到python程序中?

编辑:下面是一个片段:

代码语言:javascript
复制
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*))

查看保存屏幕,我看到光标没有移动吗?我可以使用

代码语言:javascript
复制
em.move_to(7,53)

但在那之后我没有收到任何短信。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-06 14:56:25

请先阅读我上面的评论--如果你能更详细地了解你需要做什么,这将是有帮助的。

在考虑到…你看过https://pypi.python.org/pypi/py3270/0.1.5https://pypi.python.org/pypi/py3270/0.1.5包了吗?总结说,它与x3270进行了对话。

票数 1
EN

Stack Overflow用户

发布于 2014-11-23 23:39:42

下面是我所做的,它在100%的时间里都能工作:

代码语言:javascript
复制
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?左?您是登录还是DIALing?在使用图形x 3270/c 3270终端时,您必须使用的下一个击键/字段是什么?您需要知道这一点,以便选择下一个命令。

祝好运!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18054151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档