问题描述
是否可以在 ZOS 中使用 Python 3.8 访问大型机的 VSAM 数据集?我尝试在 python 2.7 中访问 vsam 简单文件,就像 ps 文件一样。这似乎奏效了。当我在 3.8 中尝试相同时。它甚至无法读取简单的 PS 文件数据。 代码:
import codecs
f = open("//'VSAM file name'",'r')
f1=codecs.getreader('cp1047_oe')(f)
for line in f1:
print line,print (f1)
print ("Read record is :",f)
f.close()
解决方法
为了尝试使用数据集,有一个有用的博客条目概述了该过程: Using IBM Open Enterprise Python for z/OS and ZOAU to Work With Datasets
您需要有 zoau 二进制文件以及必须安装 zoautil_py python 包。这些说明位于 KC 部分的 install 部分。
注意:从博客发布时起,我的版本发生了变化。我正在使用 zoau 版本 V1.1.0
并且与博客相比有一些 API 调用更改,例如zoautil_py.Datasets
现在是 zoautil_py.datasets
。最好使用可用的最新稳定版本。