深山小兽 发表于 2020-10-16 13:30:19

递归哪里出错了,求助!

import os
start_file = input("请输入当前文件夹的目录:")
def calc_file(star_file):
    os.chdir(start_file)
    for each in os.listdir(os.curdir):      
      if os.path.isfile(each):
            print(each,"【",os.path.getsize(each),"Bytes】")
      if os.path.isdir(each):
            calc_file(each)
            os.chdir(os.pardir)
      
calc_file(start_file)

小甲鱼的铁粉 发表于 2020-10-16 14:36:49

你的思路是对的,就是少打了一个字母
def calc_file(star_file):
正确的代码
import os
start_file = input("请输入当前文件夹的目录:")
def calc_file(start_file):
    os.chdir(start_file)
    for each in os.listdir(os.curdir):      
      if os.path.isfile(each):
            print(each,"【",os.path.getsize(each),"Bytes】")
      elif os.path.isdir(each):
            calc_file(each)
            os.chdir(os.pardir)
      
calc_file(start_file)

深山小兽 发表于 2020-10-16 14:42:13

小甲鱼的铁粉 发表于 2020-10-16 14:36
你的思路是对的,就是少打了一个字母

正确的代码

尴尬啊,低级错误,见笑了!

深山小兽 发表于 2020-10-16 14:44:38

小甲鱼的铁粉 发表于 2020-10-16 14:36
你的思路是对的,就是少打了一个字母

正确的代码

追问一句,为什么这个打错字母,代码还能运行,不报错呢,似乎去掉递归程序基本正常。

小甲鱼的铁粉 发表于 2020-10-16 14:46:13

深山小兽 发表于 2020-10-16 14:44
追问一句,为什么这个打错字母,代码还能运行,不报错呢,似乎去掉递归程序基本正常。

这我还真不知道
页: [1]
查看完整版本: 递归哪里出错了,求助!