You can use the else
block of the for
:
for fname in os.listdir('.'):
if fname.endswith('.true'):
# do stuff on the file
break
else:
# do stuff if a file .true doesn't exist.
The else
attached to a for
will be run whenever the break
inside the loop is not executed. If you think a for
loop as a way to search something, then break
tells whether you have found that something. The else
is run when you didn’t found what you were searching for.
Alternatively:
if not any(fname.endswith('.true') for fname in os.listdir('.')):
# do stuff if a file .true doesn't exist
Moreover you could use the glob
module instead of listdir
:
import glob
# stuff
if not glob.glob('*.true')`:
# do stuff if no file ending in .true exists