Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

file - Error with double backslash in Windows path in Python

I want to work with paths in Windows in Python 3.3, but I have an error:

FileNotFoundError: [Errno 2] No such file or directory: 'E:\dir\.project'

The problem is the double backslash. I read the solution using r.

def f(dir_from):
    list_of_directory = os.listdir(dir_from)
    for element in list_of_directory:
        if os.path.isfile(os.path.join(dir_from, element)):
            open(os.path.join(dir_from, element))

f(r'E:\dir')

I have this error again

FileNotFoundError: [Errno 2] No such file or directory: 'E:\dir\.project'

os.path.normpath(path) doesn't solve my problem.

What am I doing wrong?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you are using a raw-string, then you do not escape backslashes:

f(r'E:dir')

Of course, this problem (and many others like it) can be solved by simply using forwardslashes in paths:

f('E:/dir')

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...