0

如何在python中编写当路径中存在输出文件时,输出文件将自动为“originalname”+“_1”/“originalname”+“_2”等选项?

4

3 回答 3

2

您可以使用os.path.exists 来检查文件是否已经存在。剩下的就是一个尝试新文件名的简单循环。

于 2011-08-29T09:01:57.583 回答
2

就像是

import os.path

def getnewfilename(filename):
    testfile = filename
    i = 0
    while os.path.exists(testfile):
        i += 1
        testfile = "%s_%s" % (testfile, i) 

    return testfile

这应该产生

filename
filename_1
filename_2

如果你使用 %s_%3i" 你应该得到

filename
filename_001
filename_002
filename_003

然后将按字母顺序列出(但在 i>=1000 时会出现问题)

于 2011-08-29T09:15:20.353 回答
0

isfile 检查文件是否存在并关闭 simlinks;您可以使用完整的文件路径。

if os.path.isfile(filename):
    do_something()
于 2011-08-29T09:06:46.087 回答