我的代码中的os.walk()函数出现问题。
#! /usr/bin/env python3
# selectiveCopy.py - walks through a folder and copies all pdf files
# and puts them in a new pdf only folder
import os, shutil
def selectiveCopy(folder, destination):
#walks through folder using os.walk(folder)
for foldername, subfolders, filenames in os.walk(folder):
print('in os.walk() for ' + folder)
for filename in filenames:
# select files with pdf ending
if filename.endswith('.pdf'):
print('Copying %s from %s to %s...' % (
filename, foldername, destination))
#shutil.copy(os.path.join(foldername,filename), destination')
#adds files with folder.endswith('.pdf') to new folder
selectiveCopy('./folder1',
'./folder1/pdf_Folder')
当我运行代码时,它永远不会到达第一个打印语句,向我显示它实际上在os.walk函数中。我不知道是什么问题。任何帮助表示赞赏。我使用的实际文件夹和目的地是绝对路径,而不是下面示例中的相对路径
答案 0 :(得分:0)
所以,我要做的就是在文件夹和目标文件路径的末尾添加一个“ /”,现在它可以正常工作了。如果有人遇到此问题,请先尝试。不知道为什么它仅基于此而起作用,但是确实如此。
答案 1 :(得分:0)
由于信誉低于50(目前)而无法发表评论。
是的,您必须在文件路径之前添加一个/,因为这是macOS中文件路径的工作方式。如果您已经注意到,则您的根目录如下:/Users/...
。不是这样的:Users/...