我编写了一个小函数,该函数以代码号作为输入,并在目录中搜索包含代码号的适当文件 代码
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
答案 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)
后者将从当前目录递归搜索