老阿訇 发表于 2021-5-8 13:40:25

小甲鱼第30课习题求助!!

请各位大神帮忙看下,为什么输入的这段代码,跑起来会报错呢?如何解决?


import os

def search(startdir,target):
    os.chdir(startdir)

    for i in os.listdir(os.chdir):
      if i == target:
            print(os.getcwd() + os.sep + i)
      if os.path.isdir(i):
            search(i,target)
            os.chdir(os.pardir)
            
startdir= input('请输入待查找初始目录:')
target = input('请输入待查找文件:')
search(startdir,target)


=================== RESTART: C:\Users\****\Desktop\11.py ===================
请输入待查找初始目录:E:\\A
请输入待查找文件:测试1.txt
Traceback (most recent call last):
File "C:\Users\****\Desktop\11.py", line 15, in <module>
    search(startdir,target)
File "C:\Users\****\Desktop\11.py", line 6, in search
    for i in os.listdir(os.chdir):
TypeError: listdir: path should be string, bytes, os.PathLike or None, not builtin_function_or_method

heidern0612 发表于 2021-5-8 14:56:23

错误告诉你了,listdir的路径必须为字符串,字节、路径或为空,不能为内置方法。

老阿訇 发表于 2021-5-8 17:36:18

heidern0612 发表于 2021-5-8 14:56
错误告诉你了,listdir的路径必须为字符串,字节、路径或为空,不能为内置方法。

啊,发现了,3Q
页: [1]
查看完整版本: 小甲鱼第30课习题求助!!