我想找到第一个还不存在的文件名myfile????.txt
(????
是一个数字)。这样做有效:
import os
i = 0
f = 'myfile%04i.txt' % i
while os.path.exists(f):
i += 1
f = 'myfile%04i.txt' % i
但是我不喜欢f = ...
的代码重复。你知道吗
在这个while
循环中有没有一种pythonic方法来避免代码重复?
注意:我已经发布了一个半满意的解决方案,使用了do/while
的习惯用法,正如Emulate a do-while loop in Python?的主要答案中提到的,但是我仍然想知道是否有更好的方法来解决这个特殊的情况(因此,这不是这个问题的一个重复)。你知道吗
在写问题的结尾时,我几乎找到了答案。经过一些修改后,它可以工作:
我仍然想知道是否有一种更具python风格的方法,可能是使用迭代器、生成器、
next(...)
或类似的东西。你知道吗去掉
f
变量。你知道吗您不需要遵循这里的
while
范式,一个带有next()
的嵌套生成器表达式可以工作:相关问题 更多 >
编程相关推荐