如何解决尝试使用python脚本将文件FTP到大型机服务器,但在大型机数据集端获取特殊字符
尝试使用python脚本将文件FTP到大型机服务器,但在大型机数据集端获取特殊字符
from ftplib import FTP
host = "hostname"
user = "username"
password = "pass"
with FTP(host) as ftp:
ftp.login(user = user,passwd = pass)
print(ftp.getwelcome())
with open('test.txt','rb') as f:
ftp.storbinary('STOR ' + "'TestDataset'",f)
ftp.quit()
这是我用来将文件通过 FTP 传输到大型机服务器的代码,看起来像是编码问题。大型机使用EBCDIC,python默认编码为UTF-8或UTF-16,但无法解决,请帮忙。谢谢
这是我能够在大型机端看到的输出, text.txt 的内容是“你好”
解决方法
我不知道python,所以不能告诉你需要编码什么,但是:大型机FTP服务器有一个设置来告诉它“网络端”代码页,即你的服务器端UTF-8或UTF -16,以及大型机端代码页。
在从 Windows 到大型机的 FTP 会话中,我会发出
quote site sbdataconn=(UTF-8,IBM-037)
您可能想了解如何使用 python ftp 接口指定它。请注意,您可能不需要 quote
关键字,但可以直接以 site
关键字开头。
您还需要找到大型机上确切使用的 EBCDIC 代码页。在美国,它可能是 IBM-037 或 IBM-1047。在其他国家/地区,它也可能是任何国家/地区特定的 EBCDIC 代码页。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。