簡體   English   中英

python使用正斜杠與反斜杠存儲路徑名

[英]python storing path names with forward vs backward slash

我有一個程序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

我知道我很想念這件事很簡單,但是為了愛或金錢,我看不出它是什么。 一雙新鮮的眼睛將極大地幫助您!

正斜杠和反斜杠都是Windows上Python中完全有效的路徑分隔符。

>>> 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM