我有一个程序,即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
我知道我想念的东西很简单,但是为了爱和金钱,我能看到它是什么。一双新鲜的眼睛会有很大帮助!