I am calling os.mkdir
to create a folder with a certain set of generated data. However, even though the path I specified has not been created, the os.mkdir(path)
raises an OSError that the path already exists.
For example, I call:
os.mkdir(test)
This call results in OSError: [Errno 17] File exists: 'test'
even though I don't have a test directory or a file named test anywhere.
NOTE: the actual path name I use is not "test" but something more obscure that I'm sure is not named anywhere.
Help, please?
You have a file there with the name
test
. You can't make a directory with that exact same name.Just check if the path exist. if not create it
In Python 3.2 and above, you can use:
os.makedirs(path, exist_ok=True)
to avoid getting an exception if the directory already exists. This will still raise an exception if
path
exists and is not a directory.I also faced the same problem, specially, when the string 'test' contains the multiple directory name. So when 'test' contains the single directory -
If the 'test' contains multiple directory like '\dir1\dir2' then -
Maybe there's a hidden folder named test in that directory. Manually check if it exists.
ls -a
Create the file only if it doesn't exist.
I don't know the specifics of your file system. But if you really want to get around this maybe use a try/except clause?
You can always do some kind of debugging in the meanwhile.