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原则!保持简单,不过脑子就能懂!
- 本文首发于Python黑洞网,博客园同步跟新