搜索目录以根据编号返回固定文件

时间:2018-07-24 17:10:00

标签: python file

我编写了一个小函数,该函数以代码号作为输入,并在目录中搜索包含代码号的适当文件 代码

currentdir="E:\\ist\\text files"
def get_file(code):


    for root, dirs, files in os.walk(currentdir):
        for name in files:
            print(name,str(code)+"SummaryData.edf",str(code)+"SummaryData.TXT")
            if ((name==str(code)+"SummaryData.edf") or (name==str(code)+"SummaryData.TXT")):
                print(name,code)

                return(root,name)

目录中的文件类似-

405AllEvents.TXT 
406SummaryData.TXT 
407SummaryData.TXT 
408ScoredEvents.TXT 
408SummaryData.TXT 
409SummaryData.TXT 
410SummaryData.TXT 

但是我得到的输出(打印正在搜索的文件) 我两次获得目录中所有文件的名称,然后函数不返回任何内容。 所以我的问题是我在做什么错?我的代码无法解析目录并返回适当的文件吗?

预期的输出应该是(如果打印语句已注释掉)所需的文件,例如,如果代码是407,则应返回407SummaryData.TXT file name

1 个答案:

答案 0 :(得分:0)

walk函数被错误地调用。

这将不会打印任何内容,因为找不到目录" "

for root, dirs, files in os.walk(" "):
    print(root, dirs, files)

如果要当前目录,请在目录中使用"."

for root, dirs, files in os.walk("."):
    print(root, dirs, files)

后者将从当前目录递归搜索