Crossin的编程教室

标题: 每日一坑 3 txt结尾的文件 练习时候的问题 [打印本页]

作者: szwfn    时间: 2018-10-12 01:04
标题: 每日一坑 3 txt结尾的文件 练习时候的问题
本帖最后由 szwfn 于 2018-10-12 01:18 编辑

老师你好!

再照着 每日一坑4开头 解释txt结尾的文件的方法时候 我试着练习,包括后来直接拷贝你的示例代码(略有修改):

import os
import fnmatch

def findfile(inputdir):
    txtlist = []
    for parent, dirnames, filename in os.walk(inputdir):
        print (filename)
        for filenames in filename:
            txtlist.append(filenames)
    print (fnmatch.filter(txtlist, '*.txt'))

执行后 shell显示 RESTART: C:/Users/Administrator/AppData/Local/Programs/Python/Python37-32/2018-10-12c.py
然后我在shell中键入 findfile('C:\Program Files\Windows NT\TableTextService')
结果没有任何反应(界面维持原状,注这台是我新装的电脑,同样代码在另外一台经常用的电脑上,能正常返回结果)

请教下是什么原因,应该如何解决,谢谢!
另外能否帮忙解释下    for parent, dirnames, filename in os.walk(inputdir): 是什么含义,特别是前面的parent, dirnames是什么?
作者: crossin先生    时间: 2018-10-12 10:17
你这里只定义了函数,没有调用
看下“函数”相关课程,如何调用函数

os.walk 会返回一个三元组 https://www.jianshu.com/p/bbad16822eab
作者: szwfn    时间: 2018-10-12 12:59
crossin先生 发表于 2018-10-12 10:17
你这里只定义了函数,没有调用
看下“函数”相关课程,如何调用函数

谢谢老师

我调用了函数了,可能是电脑的问题,换了台就好了

后来我试了下这个代码
def finding(inputdir):
    for root,folder,file in walk(inputdir):
        print (file)

调用的时候 只返回路径文件夹里的文件 没有返回子文件夹内的内容 不知道是什么原因啊
作者: crossin先生    时间: 2018-10-12 13:54
szwfn 发表于 2018-10-12 12:59
谢谢老师

我调用了函数了,可能是电脑的问题,换了台就好了

不知,我无法重现你所说的




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5