为了账号安全,请及时绑定邮箱和手机立即绑定

AttributeError:“元组”对象没有属性“格式”

AttributeError:“元组”对象没有属性“格式”

汪汪一只猫 2023-08-08 15:28:43
我正在尝试在代码中插入一个变量以在远程 Linux 主机上运行命令,为此我使用 .format 方法,请参阅下面的代码:import paramikofrom datetime import datetime, timedeltahostnames = [   'hostname',]username = 'username'password = 'password'ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.load_system_host_keys()ydate = datetime.strftime(datetime.now() - timedelta(1), '%Y%m%d')for host in hostnames:   ssh.connect(host, username=username, password=password, look_for_keys=False)   ssh.exec_command('cp test.txt {}.mrs_stats0.{}.pytest.gz ; chmod +r {}.mrs_stats0.{}s.gz').format(host, ydate, host, ydate)我在尝试使用 {} 和 .format 时失败,并出现以下错误:Traceback (most recent call last):  File "C:/Users/IdeaProjects/main.py", line 25, in <module>    ssh.exec_command('cp test.txt {}.mrs_stats0.{}.pytest.gz ; chmod +r {}.mrs_stats0.{}s.gz').format(host, test, host, test)AttributeError: 'tuple' object has no attribute 'format'我无法理解为什么我收到此错误,此外我已经做了一些阅读以进一步理解元组,并且我无法理解为什么我的变量没有被读取为字符串
查看完整描述

1 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

我想你希望最后一行是

ssh.exec_command('cp test.txt {}.mrs_stats0.{}.pytest.gz ; chmod +r {}.mrs_stats0.{}s.gz'.format(host, ydate, host, ydate))

只是一个错位的支架。在您当前的代码中sshparamiko.SSHClient()实例,其方法exec_command()method 返回执行命令的 stdin、stdout 和 stderr,作为 3 元组


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信