检查是否存在任何文件,否则执行命令

我被赋予一项任务来检测路径中是否有文件,如果没有文件,则休眠并等待文件存在,否则执行命令。


这是我的代码


import os,time


path = 'C:\\Users\\test'

for dir, sub_dirs, files in os.walk(path):

    while not files:

        print("no files at this level")

        time.sleep(1)

    if files:

        print("file detected")

即使我将文件放在路径中,它也一直在休眠,它没有print file detected,这有什么问题?


青春有我
浏览 142回答 2
2回答

www说

import os,timedef file_exists(path):    for dir, sub_dirs, files in os.walk(path):        return filespath = r'C:\Users\test'while True:    if file_exists(path):        print("file detected")        break    else:        print("no files at this level")        time.sleep(1)

温温酱

files不会在while循环中改变。你将不得不os.walk再次。import os,timedef file_exists(path):    for dir, sub_dirs, files in os.walk(path):        return filespath = r'C:\Users\test'while True:    if file_exists(path):        print("file detected")        break    else:        print("no files at this level")        time.sleep(1)这里我们有一个无限循环。如果找到文件,我们调用break并退出循环。我的第一个答案中使用的嵌套组合while,并for与break只退出内部循环,所以这是行不通的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python