AttributeError: 'tuple' object has no attribute 'format'
AttributeError: 'tuple' object has no attribute 'format'
我正在尝试在我的代码中向 运行 远程 linux 主机上的命令插入一个变量,为此我正在使用 .format 方法,请参阅下面的代码:
import paramiko
from datetime import datetime, timedelta
hostnames = [
'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'
我不明白为什么我会收到这个错误,此外我已经阅读了一些资料以进一步理解元组,但我不明白为什么我的变量没有被读取为字符串
我想你希望最后一行是
ssh.exec_command('cp test.txt {}.mrs_stats0.{}.pytest.gz ; chmod +r {}.mrs_stats0.{}s.gz'.format(host, ydate, host, ydate))
只是一个错位的括号。在您当前的代码中,ssh
是 paramiko.SSHClient()
实例及其方法 exec_command()
方法 returns 执行命令的标准输入、标准输出和标准错误,作为三元组 (link to docs]
我正在尝试在我的代码中向 运行 远程 linux 主机上的命令插入一个变量,为此我正在使用 .format 方法,请参阅下面的代码:
import paramiko
from datetime import datetime, timedelta
hostnames = [
'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'
我不明白为什么我会收到这个错误,此外我已经阅读了一些资料以进一步理解元组,但我不明白为什么我的变量没有被读取为字符串
我想你希望最后一行是
ssh.exec_command('cp test.txt {}.mrs_stats0.{}.pytest.gz ; chmod +r {}.mrs_stats0.{}s.gz'.format(host, ydate, host, ydate))
只是一个错位的括号。在您当前的代码中,ssh
是 paramiko.SSHClient()
实例及其方法 exec_command()
方法 returns 执行命令的标准输入、标准输出和标准错误,作为三元组 (link to docs]