这是我的问题。我正在尝试ssh到思科设备并关闭信息。当我运行我的代码时,print语句在输出的底部添加一个带有0的新行。这是代码的输出,后跟plink CLI输入的输出:
C:\Python30>python PLINKSSHtest.py
Enter your username: josh
Password:
plink -pw nowayjose -ssh nope@1.1.1.1 "show run | inc hostname"
hostname net-R2
0 <------------MY ISSUE
C:\Python30>plink -pw nowayjose -ssh nope@1.1.1.1 "show run | inc hostname"
hostname net-R2
<------------WHAT I EXPECT
这是我的代码:
def read_dev():
# Print statement here for debugging
print ("plink -pw " + password + " -ssh " + user + "@" + HOST + " " + command)
cur_dev = os.system("plink -pw " + password + " -ssh " + user + "@" + HOST + " " + command)
return(cur_dev)
HOST = None
user = input("Enter your username: ")
password = getpass.getpass()
command = '"show run | inc hostname"'
HOST = '1.1.1.1'
print (read_dev())
答案 0 :(得分:4)
cur_dev
正在获取plink
命令返回的结果代码,即0
。您的read_dev
函数返回此代码,因此print(read_dev())
将打印0。
只需说出read_dev()
而不是print(read_dev())
。
答案 1 :(得分:4)
它不会“打印零”。它打印cur_dev
函数返回的read_dev
,该函数恰好为零。它就是这样,因为你告诉它。删除print
功能,它不会打印任何内容。“
答案 2 :(得分:0)
如果要显式设置退出代码,请使用sys.exit(cur_dev)
。简单地使用函数的返回值并不能达到您想要的效果。