递归函数返回None而不是字符串值

时间:2020-03-18 17:26:36

标签: python python-3.x

def uniqfile( title, suffix ):
    print('input: '+title)
    if os.path.isfile(title+suffix):
        title += " "
        uniqfile(title, suffix)
    else:
        return title+suffix

其中的第一条打印行返回正确的输出,但是当该函数最终返回正确附加的标题值时,它将返回None

如何正确返回值,以便可以将其分配给变量以打印并保存唯一命名的文件?

namepdf = uniqfile(row[0], '.pdf')

1 个答案:

答案 0 :(得分:-1)

似乎您忘记添加return语句。这就是为什么您得到None

def uniqfile( title, suffix ):
    print('input: '+title)
    if os.path.isfile(title+suffix):
        title += " "
        # put RETURN here
        return uniqfile(title, suffix)
    else:
        return title