【问题标题】:Invalid syntax ^ error while running pwssh运行 pwssh 时出现无效语法 ^ 错误
【发布时间】:2014-07-29 08:56:58
【问题描述】:
#!/usr/bin/python
import pxssh
import getpass
try:
    s = pxssh.pxssh()
    hostname = raw_input('hostname:')
    username = raw_input ('username:')
    password = getpass.getpass ('password:')
    s.login (hostname,username,pawssword)
    s.sendline('uptime')
    s.prompt()
    print s.before
    s.sendline('ls-l')
    s.prompt()
    print s.before
    s.sendline('df')
    s.prompt()
    print s.before

root@kali:/var/myPY# ./ssh.py
File "./ssh.py", line 19

                   ^
SyntaxError: invalid syntax
root@kali:/var/myPY# 

我在第 19 行看不到任何内容,请帮助我

【问题讨论】:

  • 你有一个try 没有except
  • 使用try,您需要exceptfinallyelse
  • 花点时间浏览一下Python Tutorial, section "Exceptions"
  • 当解析器/编译器在代码末尾的一行上给出错误时,解析器期望它无法找到的东西。在您的情况下,这是一个缺少的“除外”。在其他语言中,您会发现缺少 }、)、缺少字符串引号以及其他所有需要正确关闭的内容都会发生这种情况。
  • 还要注意 ls-l 应该是 ls -l 并且以 root 身份运行脚本几乎不是一个好主意。

标签: python linux


【解决方案1】:

try 块必须后跟至少一个 exceptfinally。您在这里没有发现任何异常,所以只需去掉 try 部分:

#!/usr/bin/python
import pxssh
import getpass

s = pxssh.pxssh()
hostname = raw_input('hostname:')
username = raw_input ('username:')
password = getpass.getpass ('password:')
s.login (hostname,username,pawssword)
s.sendline('uptime')
s.prompt()
print s.before
s.sendline('ls-l')
s.prompt()
print s.before
s.sendline('df')
s.prompt()
print s.before

【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 2019-01-03
    • 2018-07-18
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    相关资源
    最近更新 更多