Unless Statement in Python

Unless Statement in Python

Is there an equivalent to the unless statement in Python? I do not want to append a line to a label if it has p4port in it:

for line in newLines:
    if 'SU' in line or 'AU' in line or 'VU' in line or 'rf' in line  and line.find('/*') == -1:
        lineMatch = False
    for l in oldLines:
        if '@' in line and line == l and 'p4port' not in line:
            lineMatch = True
            line = line.strip('\n')
            line = line.split('@')[1]
            line = line + '<br>\n'
            labels.append(line)
    if '@' in line and not lineMatch:
        line = line.strip('\n')
        line = line.split('@')[1]
        line="<font color='black' style='background:rgb(255, 215, 0)'>"+line+"</font><br>\n"
        labels.append(line)

I get a Syntax error:

   if '@' in line and not lineMatch:
   UnboundLocalError: local variable 'lineMatch' referenced before assignment

3 Answers

What about 'not in'?:

if 'p4port' not in line:
    labels.append(line)

Also i guess that you code can be modified then to:

if '@' in line and line == l and 'p4port' not in line:
    lineMatch = True
    labels.append(line.strip('\n').split('@')[1] + '<br>\n')
0

There's no "unless" statement, but you can always write:

if not some_condition:
    # do something

There's also the not in operator as Artsiom mentioned - so for your code, you'd write:

if '@' in line and line == l:
    lineMatch = True
    line = line.strip('\n')
    line = line.split('@')[1]
    line = line + '<br>\n'
    if 'p4port' not in line:
        labels.append(line)

... but Artsiom's version is better, unless you plan to do something with your modified line variable later.

1

The error you're getting in your (rather drastically) edited question is telling you that the variable lineMatch doesn't exist - which means the conditions you specified for setting it weren't met. It might help to add a line like LineMatch = False as the first line inside your outer for loop (before the first if statement), to ensure that it does exist.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Marcus Vance
Author

Marcus Vance

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.