Python面试题-返回文件夹中文件以及其包含文件夹中文件的路径-临时文件夹路径

Python面试题-返回文件夹中文件以及其包含文件夹中文件的路径-临时文件夹路径

补充缺失的代码

def print_directory_contents(sPath):

"""

这个函数接受文件夹的名称作为输入参数,

返回该文件夹中文件的路径,

以及其包含文件夹中文件的路径。

"""

# 补充代码

答案

def print_directory_contents(sPath):

import os

for sChild in os.listdir(sPath):

sChildPath = os.path.join(sPath, sChild)

if os.path.isdir(sChildPath):

print_directory_contents(sChildPath)

else:

print sChildPath

特别要注意以下几点:

  • 命名规范要统一。如果样本代码中能够看出命名规范,遵循其已有的规范。
  • 递归函数需要递归并终止。确保你明白其中的原理,否则你将面临无休无止的调用栈(callstack)。
  • 我们使用os模块与操作系统进行交互,同时做到交互方式是可以跨平台的。你可以把代码写成sChildPath = sPath + '/' + sChild,但是这个在Windows系统上会出错。
  • 熟悉基础模块是非常有价值的,但是别想破脑袋都背下来,记住Google是你工作中的良师益友。
  • 如果你不明白代码的预期功能,就大胆提问。
  • 坚持KISS原则!保持简单,不过脑子就能懂!

为什么提这个问题

  • 说明面试者对与操作系统交互的基础知识
  • 递归真是太好用啦

推荐阅读