|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为方便说明,先把小鱼老师的源代码贴出:
from pathlib import Path
def get_files(p, files):
for each in p.iterdir():
if str(each) == __file__:
continue
if each.is_file() and each.suffix == '.py':
files.append(each)
if each.is_dir():
p = each
get_files(p, files) # 此处使用递归搜索会更方便
return files
def count_lines(files):
lines = 0
for each in files:
with open(each, "r", errors="ignore") as f:
t = f.readlines()
lines += len(t) - t.count('\n') # 空行不能算,所以要减去空行数量
return lines
p = Path.cwd()
files = []
files = get_files(p, files)
for each in files:
print(each)
#print(f"一个有 {count_lines(files)} 行代码~")
红色部分是我们的关注点。下面两行红色代码是我测试加的代码,下面有两个问题:
1、经测试,函数get_files(p, files)返回的files列表中仍然包含本程序文件,这是怎么回事?
2、使用files.remove(__file__)为何不能从files中删除本程序? |
|