我正在使用 Paramiko 创建一个 SFTP 客户端来创建 JSON 文件的备份副本,读入原始内容,然后更新(原始)。我能够让这段代码工作:
# open sftp connection stuff
# read in json create backup copy - but have to 'open' twice
read_file = sftp_client.open(file_path)
settings = json.load(read_file)
read_file = sftp_client.open(file_path)
sftp_client.putfo(read_file, backup_path)
# json stuff and updating
new_settings = json.dumps(settings, indent=4, sort_keys = True)
# update remote json file
with sftp_client.open(file_path, 'w') as f:
f.write(new_settings)
但是,当我尝试清理代码并结合备份文件创建和 JSON 加载时:
with sftp_client.open(file_path) as f:
sftp_client.putfo(f, backup_path)
settings = json.load(f)
备份文件将被创建,但json.load由于没有任何内容而失败。如果我颠倒顺序,json.load将读取值,但备份副本将为空。
我在 Windows 机器上使用 Python 2.7,创建到 QNX (Linux) 机器的远程连接。感谢任何帮助。
炎炎设计
相关分类