当搜索路径不存在时处理iglob错误

2024-09-30 16:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用iglob而不是glob来获取say.txt文件的列表。如果不存在.txt文件,glob不会返回任何错误,但iglob会返回任何错误。在

代码:

def iGlobLatest():
    dir_list = glob.iglob('*.txt')
    print dir_list.next()

如果不存在.txt文件,我会得到:

回溯(最近一次呼叫):

文件“T:\prod\offlineValidation\scripts\古芬.py,第98行,在igloblast()中

文件“T:\prod\offlineValidation\scripts\古芬.py,第88行,在iglobaltest print dir中_列表。下一个()

停止迭代

如果我使用try/except,我可以避免错误,但这是唯一的方法吗?检查.txt文件是否存在的其他建议包括使用glob,但是由于我试图使用iglob而不是glob。。。。在


Tags: 文件代码pytxt列表错误dirscripts
1条回答
网友
1楼 · 发布于 2024-09-30 16:21:58

由于iglob()是一个生成器,一旦所有匹配的文件都用完了,它就会引发StopIteration。如果根本没有文件,它将在第一次调用next()时引发{}。在

生成器用于迭代:

for file in glob.iglob('*.txt'):
    # whatever

这样,StopIteration异常将被隐式地捕捉到。我不知道你到底想做什么,但也许这就是你想要的:

^{pr2}$

(Python 2.6或更高版本。)

相关问题 更多 >