我有一组存储在目录树中的数据。给定日期的数据位于包含日期名称的文件夹中(例如第一天为 01,一个月中的第十四天为 14,等等),给定月份的所有日期的文件夹都存储在每月文件夹(数字 01 到 12)和所有月份文件夹都在一个年度文件夹中(在我的例子中是 2014、2015 和 2016)。所有这些都在另一个文件夹中。
我已经定义了 3 个函数,它们都通过使用带有os.listdir()的for迭代器来遍历一个文件夹(但执行一些不同的操作):
for e in os.listdir(os.curdir):
if e.endswith(refer[-4:]:
#Performs operations (GDAL related)
在程序的早期,我让用户输入某些参数,包括顶层文件夹(通过os.curdir输入到函数中)和参考文件(存储在参考变量中)。这些函数返回一个存储在out_arr中的变量arr。如果用户想要浏览所有数据,我有这行代码调用正确的函数并深入到目录树:
elif param_vrsta == "dr" and param_obdobje == "v":
for dd in os.listdir(os.curdir):
for aa in os.listdir(dd):
for kk in os.listdir(aa):
out_arr = krog1()
有几个elif在前后深入一层或两层或三层,并调用三个函数之一。
但我不断收到错误消息:
FileNotFoundError:[WinError 3] 找不到路径:'01'
在
for kk in os.listdir(aa):
线。最终目标是能够选择是对一个文件夹(天)、一个月(最多 31 个数据文件夹)、一年(12 个文件夹,最多 31 个数据文件夹)执行操作,还是只对所有数据执行操作,让功能每次都能正常工作。我是否错过了一些语法错误(或添加了太多行),还是我从一开始就以错误的方式解决了这个问题?