首页 > 解决方案 > For循环在第一次迭代后抛出“OSError:[Errno 2]没有这样的文件或目录”它没有迭代列表中的第二项

问题描述

我有一个目录列表。我需要去列表的每个目录并执行一些命令。像这样我需要处理整个列表。但是在第一次迭代之后,它抛出了 OSError。请找到以下代码并帮助我。

代码:

ls_2 = ['build', 'flexiserver', 'fvntools', 'gbuild', 'sample']
for dir in ls_2:
    print ("Inside for loop")
    os.chdir(dir)
    ls_2 = os.listdir('.')
    print ("Inside dir %s %s"  %(dir, ls_2))
    subprocess.call('buildme.sh')

标签: python-2.7

解决方案


文件夹是否相互嵌套?

一个可能的原因是同一文件夹内的所有这些文件夹。在这种情况下,在您开始构建之后,您希望在访问 flexiserver 之前返回一级。

您的代码似乎正在寻找 build 文件夹内的 flexiserver 文件夹,但那里没有这样的文件夹。


推荐阅读