Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 os.path.isdir(<whatever>) returns always True
#1
I am running a Python script, which is supposed to check whether a directory already exists:
import os
#!/usr/bin/env python 

source_dir = <inexistent directory>

if (os.path.isdir(source_dir)):
    print "source directory not found"
else:
    print "source directory found"
    os.system("ls -l " + source_dir)
will always enter the else statement (directory found) for an non-existing directory
and fail while trying to display the content of the inexistent directory.

What is wrong in my code?

My code runs correctly if run inside the console Python interpreter.
My code always fails if run as a script on the very same console.

Fabrizio
Quote
#2
It is similar to this
if a == b:
    print('a and b are different')
else:
    print('a and b are equal')
nilamo likes this post
Quote
#3
@Gribouillis ??
Why it does not work then?

I am not comparing things. I am checking if something is True or False.
I just want to know whether a directory exists or not. How should I do it?

It gives the wrong answer if I run it as a script.
Quote
#4
Look carefully at your code. I have a feeling that you've been looking at it so long, you've developed tunnel vision, and are skipping over parts of what's happening.

(Dec-04-2018, 02:22 PM)Fabrizio Wrote:
if (os.path.isdir(source_dir)):
    print "source directory not found"

Here, let me help rewrite it for you:
source_dir = "/literally_nowhere"
directory_exists = os.path.isdir(source_dir)

if directory_exists:
    print("It doesn't exist")
Or, to break it down even further:
if False:
    print("It's True")
Obviously the else part is running: the condition you're checking is False.
Gribouillis likes this post
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Returning True or False vs. True or None trevorkavanaugh 6 487 Apr-04-2019, 08:42 AM
Last Post: DeaD_EyE
  .pth file does not show up in sys.path when configuring path. arjunsingh2908 2 1,048 Jul-03-2018, 11:16 AM
Last Post: arjunsingh2908
  why the generator expression after IF always returns True HenryJ 1 675 Feb-13-2018, 07:14 AM
Last Post: buran

Forum Jump:


Users browsing this thread: 1 Guest(s)