如何将 Python 变量转换为等效的 cobol 组变量?

Posted

技术标签:

【中文标题】如何将 Python 变量转换为等效的 cobol 组变量?【英文标题】:How to convert Python variables into equivalent cobol group variables? 【发布时间】:2019-04-17 19:19:25 【问题描述】:

我正在研究 COBOL 模块,我需要将 Python 变量转换为等效的 COBOL 变量。 我正在从 Web 应用程序接收数据,需要将其提供给 cobol 模块。所以我在 python 中读取该数据并将其存储在变量中,现在我需要将每个变量转换为 COBOL 变量。 所以我可以将这些值与系统中已经存在的字帖一起使用。

我曾尝试使用 pycobol 在 github 上进行搜索,但它都是 COBOL 到 python (lists,csv) 我需要的恰恰相反。

例如,如果在 python 中我有 h=6,b='ab' 它应该转换为

01   H     PIC 9(1) value 9
01   B     PIC X(2) value 'AB'

【问题讨论】:

为什么要将此数据转换为 COBOL code? COBOL 可以读取文件。将其写入文件以供您的 COBOL 程序读取。 或以“字符串”形式传递,例如json 我没有看到对这个问题的 JCL 标签有任何要求。 【参考方案1】:

Simon Sobisch 的评论应该变成答案。 python可能很容易将某些内容输出到json文本文件中;然后在 COBOL 端,你可以 JSON PARSE 到 COBOL。

【讨论】:

【参考方案2】:

我不知道有一个库可以完成你想要的,尽管它听起来非常有用。此时,您需要提供一种以与您要用于处理日期的字帖相匹配的固定记录格式输出变量的方法。

避免换行之类的事情,包括将整数和其他数字类型转换为压缩十进制 (Comp-3) 或 Comp-1 等其他形式。

一个可以以 Python 格式呈现的实用程序,用于编写一个可以生成具有正确数据类型的等效 COBOL Copybook 的文件,这将是一个很好的添加工具。我不知道有人这样做过。

【讨论】:

以上是关于如何将 Python 变量转换为等效的 cobol 组变量?的主要内容,如果未能解决你的问题,请参考以下文章

Django/Python:如何将整数转换为等效的枚举字符串? [复制]

如何将 C++ 中的空字符序列转换为 Python 中的等效字符?

将变量名转换为字符串?

在存储过程中将数字转换为压缩十进制

如何将 Cobol 响应中的签名显示字段解码为 Java 中的 BigDecimal

如何将任何给定的 SQL/HQL 选择查询动态转换为等效计数查询?