【发布时间】:2019-05-15 10:27:49
【问题描述】:
我正在尝试在 Python3.6 中读取和写入大型机数据集数据。我正在使用 Anaconda 的 Spyder(版本 3.2.4)。我正在使用 Zosftplib 来导入大型机功能。下面是代码sn-p: 导入 zosftplib myzftp = zosftplib.Zftp("ip address-mainframe","username","password") mf_file = open("大型机 ps 文件名", 'r+') ffa = mf_file.read(16); print ("读取记录为:", ffa) mf_file.close()
大型机 PS 文件名包含 1 条记录,数据为 0010021023457893。但我得到的输出是 Spyder 内核中的空格。我也尝试使用 ftplib,但它也没有在那里工作。我相信需要转换,因为它不是我正在阅读的文本文件。有没有人对此有任何建议。请回复。谢谢
通过 FTPLIB 和 Zosftplib 导入
import zosftplib
Myzftp = zosftplib.Zftp("ip address-mainframe","username","password")
mf_file = open("mainframe ps file-name", 'r+')
ffa = mf_file.read(16);
print ("Read record is :", ffa)
mf_file.close()
文件读取和打印后的预期结果应该是 0010021023457893。
【问题讨论】:
-
大型机 FTP 可能很棘手,因为有两种不同的文件系统,传统的大型机数据集和 UNIX 分层文件系统。我不是 Python 人,但可能是您尝试访问的文件类型不适合您开始的位置。您可以使用“cd”命令在它们之间进行更改。 cd '' 带您退出 UNIX 模式并进入 MVS 模式。 cd /u/myUser 例如带您进入 UNIX 模式。如果您使用命令行连接到大型机,您从哪里开始?
-
不是针对您的问题,但this 可能有用。更具体到您的问题 - 大型机日志中是否报告了错误?可能是访问错误?
-
您是否尝试访问 MVS 文件(您提到 PS 文件,我认为它意味着物理顺序,因此是 MVS 文件对象)。
标签: python-3.6 mainframe