rajeshkumargp
rajeshkumargp

Reputation: 105

Getting OS Error when passing string to pathlib.Path in windows

How to pass string to pathlib.Path in Python3. I am dynamically passing normal windows path in Path(). But it is throwing error.

the snippet is as below:

src = "C:\Documents\Newsletters\Summer2018.pdf"
rsrc = r"C:\Documents\Newsletters\Summer2018.pdf"
s = pathlib.Path(src)
rs = pathlib.Path(rsrc)

print(s.exists())  #  throws error

print(rs.exists()) # returns True

I want to pass normal string to Path, instead off raw string.

Is there anyway to pass normal string to Path and check for its existence,

How to achieve this in windows?

Upvotes: 1

Views: 762

Answers (2)

lalam
lalam

Reputation: 195

This will work

src ="C:\Documents\\Newsletters\Summer2018.pdf"

\N is a Python literal, you need to escape \ or use

r"C:\Documents\Newsletters\Summer2018.pdf"

Upvotes: 1

vencaslac
vencaslac

Reputation: 2884

regular text is throwing an error because \ is an escape character in Python , you need to escape it by doubling it like so:

src = "C:\\Documents\\Newsletters\\Summer2018.pdf"

the raw text version doesn't check for escape characters and so does not throw an error.

Upvotes: 1

Related Questions