使用 FTP 形式 Python 访问大型机数据集

Posted

技术标签:

【中文标题】使用 FTP 形式 Python 访问大型机数据集【英文标题】:Accessing Mainframe datasets using FTP form Python 【发布时间】:2017-01-08 18:29:19 【问题描述】:

我想使用 Python ftplib 从大型机下载数据集。

我能够登录到大型机,我得到默认工作目录为“CY$$”。 我想将工作目录更改为“CY01”。 我尝试使用 ftp.cwd('CY01.') 但它会将目录更改为“CY$$.CY01”。而不仅仅是“CY01”。

在使用命令提示符时,我使用以下命令成功更改工作目录:

CD 'CY01.'

(目录名称末尾的“.”是 IBM 命令更改默认工作目录而不将其附加到默认目录)

我也试过 ftp.sendcmd("CD 'CY01.'") 但它给出错误“500 unknown command CD”

有人可以帮忙更改默认工作目录吗? 提前致谢。

【问题讨论】:

为什么需要更改工作目录?无论您的工作目录如何,您都不能只使用 GET 命令和 FTP 吗?当我从大型机 FTP 文件时,我从不更改我的工作目录,因为没有理由这样做。当你使用 GET 命令时,它会询问远程文件的位置,然后是本地文件的位置。 @SaggingRufus 感谢您的回复。如果您能详细说明如何通过 Python 使用 GET 命令从大型机下载数据集,那将是非常有帮助的。 如果没有记录,你打算怎么做?与大型机技术人员一起工作。告诉他们你想做什么。他们会确认没问题,或者告诉您他们希望如何完成。然后你用“Python ftplib”或其他任何东西来实现它。 @ParthKaria 我不知道如何通过 python 使用它,但 python 必须与您的命令行所在的同一个 FTP 服务器连接。我假设您可以只使用 ftp.sendcmd(GET 'remote dataset name' local dataset name) WRT 更改工作目录只需将 HLQ 放在引号 ftp.cwd("'CY01'") 中。 【参考方案1】:

ftplib ccommand ftp.cwd("'CY01'") 工作正常。已经用了一年多了。

【讨论】:

以上是关于使用 FTP 形式 Python 访问大型机数据集的主要内容,如果未能解决你的问题,请参考以下文章

带有命令的 FTP 到大型机数据集

使用 C# 到 FTP 文件到大型机,包括数据集 - 将 FTP 脚本翻译成 FtpWebRequest 代码

使用 java ftp 检查 mainfame 上是不是存在数据集

将文件作为 TAPE 数据集 SFTP 到大型机

用 Python 访问 NOAA FTP 服务器

使用 Python 访问 VSAM 文件?