PermissionError: [Errno 13] in Python

PermissionError: [Errno 13] in Python

When doing;

a_file = open(E:Python Win7-64-AMD 3.3Test, encoding=utf-8)

…youre trying to open a directory as a file, which may (and on most non UNIX file systems will) fail.

Your other example though;

a_file = open(E:Python Win7-64-AMD 3.3Testa.txt, encoding=utf-8)

should work well if you just have the permission on a.txt. You may want to use a raw (r-prefixed) string though, to make sure your path does not contain any escape characters like n that will be translated to special characters.

a_file = open(rE:Python Win7-64-AMD 3.3Testa.txt, encoding=utf-8)

For me, I was writing to a file that is opened in Excel.

PermissionError: [Errno 13] in Python

For me, I got this error when I was trying to write a file to a folder and wanted to make sure the folder existed. I accidentally used:

path = Path(path/to/my/file.txt)
path.mkdir(parents=True, exist_ok=True)
with open(path, w) as file:
    ...

but the second line means make a directory at this exact path (and make its parents too, without throwing errors for them existing already). The third line then throws a PermissionError, because you cant use open() on a directory path, of course! The second line should have been:

path.parent.mkdir(parents=True, exist_ok=True)

Leave a Reply

Your email address will not be published. Required fields are marked *