当前位置: 首页 > 知识库问答 >
问题:

如何在Python3中读取VSAM文件

邵鸿福
2023-03-14
infile = open("myfile.dta","r",encoding="ansi")
for line in infile:
    print(line)
"UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 1572"

共有1个答案

桂飞翼
2023-03-14

有Python 3和Python 2到z/OS的端口。看起来Python 3端口目前不支持访问“本机”或“经典”z/OS文件--那些不存在于z/UNIX文件系统中的文件。

VSAM不是一个小话题。如果您对历史和底层技术感兴趣,请在您最喜欢的搜索引擎中搜索“什么是VSAM”;TLDR是VSAM文件类似于ISAM,因为它们允许读取给定密钥的特定记录。当然,VSAM还有其他功能,而且它显然不是ISAM,这只是一个类比。

根据有关文件的使用模式,您可能会遇到一些访问阻力。如果生产CICS区域正在使用这些VSAM文件,代码中的大量使用可能会造成争用,从而导致性能下降。

需要考虑的事项:您本质上是在向运行的生产系统添加一个新的需求,这样做需要进行一些分析,以确定在不对现有系统产生负面影响的情况下满足您的需求的最佳机制。该机制将考虑现有的车间标准、安全性、性能、员工时间等。也许已经进行了分析(我不知道是否已经进行了),但您的问题表明您的工作站上有一个VSAM文件的副本,随后的评论似乎表明您希望访问z/OS上的“许多这样的文件”。

当非大型机开发人员必须访问包含在现有大型机系统中的部分或全部数据时,通常情况下,您必须讨论您的需求和他们的需求,以提出双方都同意的解决方案。我试图概述这个答案、这个答案和这个问题的答案中的一些问题,这个答案提到了方解石(我对此没有经验)和z/OS的NFS服务器功能(我对此也没有经验)。很多功能,很多选择,我将在这里重申不止一个链接答案中的一些内容:

请理解...之间有很大的区别。

  • 技术上可能的
  • 您的商店允许的商品
  • 根据您的需求,什么可能提供健壮且可维护的解决方案

这是三件截然不同的事情。我们中的一些人的生活经验使我们对回答技术上可能的问题保持沉默,没有提到你的商店允许什么,或者正在解决的实际业务需求是什么。

 类似资料:
  • 问题内容: 是否可以在AngularJS中读取文件?我想将文件放入HTML5画布进行裁剪。 我在考虑使用指令吗?这是我要放入指令中的javascript代码: 问题答案: 是的,指令是正确的方法,但看起来有些不同: 工作示例:http : //plnkr.co/edit/y5n16v?p=preview 感谢lalalalalmbda提供此链接。

  • 问题内容: 我试图将文本文件加载到我的JavaScript文件中,然后从该文件中读取行以获取信息,我尝试使用FileReader,但它似乎无法正常工作。有人可以帮忙吗? 问题答案: 是的,可以使用FileReader,我已经做了一个示例,这是代码: 最后,我只是读了其他一些吸引我的答案,但正如他们所建议的那样,您可能正在寻找使您能够从JavaScript文件所在的服务器(或设备)加载文本文件的代码

  • 我想从文本文件中读取文本。在下面的代码中,会发生异常(这意味着它会转到catch块)。我将文本文件放在应用程序文件夹中。我应该把这个文本文件(mani.txt)放在哪里才能正确阅读?

  • 问题内容: 我在App Engine上有一个文件。应用引擎上文件的路径是什么? 例如: 问题答案: 这对我有用:

  • 问题内容: 我努力了: 找到错误消息: 另外,我尝试使用并得到了相同的错误消息,甚至使用beanshell脚本也是如此: 问题答案: 尝试以下方法: 将Beanshell Sampler添加到您的测试计划 将以下代码放入采样器的“脚本”区域: 将调试采样器和查看结果树侦听器添加到您的测试计划 运行测试 确保Beanshell Sampler为绿色并且已设置变量。如果不是,请查看 jmeter.lo

  • 我试图读取一个FASTA文件,然后找到特定的motif(字符串)并打印出它出现的顺序和次数。FASTA文件只是以标题行开始的一系列序列(字符串),标题或新序列开始的签名是“” 属性错误:“str”对象没有属性“下一个” 我不确定这是怎么回事。