简体   繁体   English

SyntaxError:语法无效的Python

[英]SyntaxError: invalid syntax Python

I have a python script. 我有一个python脚本。 This is only my conversion to my shell script, Sorry Im just newbie for this language. 这只是我对Shell脚本的转换,对不起,我只是该语言的新手。 the error is: 错误是:

  File "chkrpm.py", line 19
    if(rc != 0):
    ^
SyntaxError: invalid syntax

I don't know whats wrong. 我不知道怎么了 This is my shell script 这是我的shell脚本

retval=0
for i in $(cat /var/tools/tools/newrpms.txt)
do
        ls /var/patchbundle/rpms/ | grep $i
        if [ $? != 0 ]
        then
                echo "$i NOT FOUND!"
                retval=255
        fi
done
exit $retval

And this is my python conversion. 这是我的python转换。 Just focus on the error side. 仅关注错误方面。

import package, sys, os, subprocess

path = '/var/tools/tools/newrpms.txt'

newrpms = open(path, "w")
fds = newrpms.readline()
newrpms.close


def checkrc(rc):
                if(rc != 0):
                        sys.exit(rc)
cmd = package.Errata()
retval=0


for i in newrpms:
        rc = cmd.execute("ls /var/patchbundle/rpms/ | grep %newrpms ")
                if(rc != 0):
                    cmd.logprint ("%s not found !" % i)
                    retval = 255

checkrc(rc)

Whats wrong in my code. 我的代码有什么问题。 That's it fit like my bash script? 就像我的bash脚本一样适合吗?

When I tried to follow all the suggestion below error found: 当我尝试遵循以下所有建议时,发现错误:

 File "chkrpm.py", line 19
    echo("%s not found !" % i)
    ^
SyntaxError: invalid syntax

Your Error message say `invalid syntax' because your intendation is wrong 您的错误消息说“语法无效”,因为您的意图有误

your for loop looks like: 您的for循环如下所示:

for i in newrpms:
        rc = cmd.execute("ls /var/patchbundle/rpms/ | grep %newrpms ")
                if(rc != 0):
                    cmd.logprint ("%s not found !" % i)
                    retval = 255

when it schould look like: 当它看起来像:

for i in newrpms:
    rc = cmd.execute("ls /var/patchbundle/rpms/ | grep %newrpms ")
    if(rc != 0):
        cmd.logprint ("%s not found !" % i)
        etval = 255

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM