-->

蟒蛇存储路径名与前VS反斜杠(python storing path names with forw

2019-09-22 04:25发布

我有一个程序os.walk SA目录及其子目录过滤PDF文件,分离出它们的名称和相应的路径名。 我遇到的问题是,它会扫描顶级目录并打印相应的文件名如G:/Books/Title.Pdf但第二个它扫描的子目录下,比如G:/Books/Sub Folder/Title.pdf它将打印以下

G:/Books/Sub Folder\\Title.Pdf

(这显然是一个无效的路径名)。 它也将\\子文件夹中添加任何子文件夹。

下面是具体的步骤:

def dicitonary_list():
    indexlist=[]        #holds all files in the given directory including subfolders
    pdf_filenames=[]    #holds list of all pdf filenames in indexlist
    pdf_dir_list = []   #holds path names to indvidual pdf files 

    for root, dirs,files in os.walk('G:/Books/'):
        for name in files:
            indexlist.append(root + name)
            if ".pdf" in name[-5:]:
                pdf_filenames.append(name)

    for files in indexlist:
        if ".pdf" in files[-5:]:
            pdf_dir_list.append(files)

    dictionary=dict(zip(pdf_filenames, pdf_dir_list))       #maps the pdf names to their directory address

我知道这是一些简单的我失踪,但为了爱情,也没有钱,我可以看到它是什么。 一个新鲜的一双眼睛将有很大的帮助!

Answer 1:

正斜杠和反斜杠在Python两种完全有效的路径分隔符在Windows上。

>>> import os
>>> os.getcwd()
'j:\\RpmV'
>>> os.path.exists('j:\\Rpmv\\make.py')
True
>>> os.path.exists('j:/rpmv/make.py')
True
>>> os.path.isfile('j:\\Rpmv/make.py')
True


文章来源: python storing path names with forward vs backward slash