Python print添加了新行和0

时间:2010-11-30 18:49:42

标签: python printing

这是我的问题。我正在尝试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())

3 个答案:

答案 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)。简单地使用函数的返回值并不能达到您想要的效果。