因此,最近我的任务是编写一个名为getLargestFile的方法,该方法接受一个路径,并返回一个字符串,该字符串末尾包含所有文件夹/文件名
例如:
assert(findLargestFile("sampleFiles/folderA") == "sampleFiles/folderA/folderC/giftwrap.txt"
文件布局:First screenSecond ScreenThird Screen
我不允许在单个文件上多次使用os.walk或调用os.path.getsize,而且,我不能使用listFiles在一个位置列出所有文件。(也只是基本的操作系统方法)
我目前的代码如下:
def findLargestFile(path):
findLargestFileHelper(path)
def findLargestFileHelper(path, size=0, pathToLargest=""):
if (os.path.isdir(path) == False):
if os.path.getsize(path) > size:
size = os.path.getsize(path)
pathToLargest = os.path.dirname(path) + os.path.basename(path)
else:
for filename in os.listdir(path):
findLargestFileHelper(path + "/" + filename)
return pathToLargest
我知道代码中肯定有错误,但我不太确定这个文件递归的一般概念,也不确定为什么调用:
findLargestFile("sampleFiles/folderA")
,它返回none
如果有人能向我解释我做错了什么,我将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐