首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python函数中使用可选参数

在python函数中使用可选参数
EN

Stack Overflow用户
提问于 2015-10-21 08:44:54
回答 1查看 67关注 0票数 2

我的职能是:

代码语言:javascript
运行
复制
def get_previous_backups(backup_dir, extension):
    """Returns a list of backup files matching the date format and file extension"""
    return [os.path.basename(x) for x in
            glob.glob(backup_dir + DIR_PATH + host + '.[0-9][0-9][0-9][0-9]' +
                '-[0-9][0-9]' + '-[0-9][0-9]' + '.' + extension)]

该函数在给定的目录中搜索与给定模式匹配的文件。稍后,结果将用于删除最老的文件。像mx01.2015-10-15.tar.bz 2这样的文件将与过滤器匹配。所以这个函数就像一种魅力,但这是我的问题。这个函数是我编写的备份脚本的一部分。它提供增量备份和完整备份。完全备份的名称略有不同。在tar文件的日期之前是一个_FULL,它清楚地表明这个文件包含一个系统的完整备份。这些文件也应该删除。我尝试为函数使用一个可选参数,如

def get_previous_backups(backup_dir, extension, full=None):

并在连接中使用它,例如:

'-[0-9][0-9]' + '-[0-9][0-9]' + full + '.' + extension)]

或格式

'-[0-9][0-9]' + '-[0-9][0-9]' + {} + '.' + extension)].format(full)

但是这是行不通的,因为你不能用字符串连接切分或非类型对象。所以我现在的问题是:

是否有可能在这一个函数中实现这一点,还是只需要使用第二个函数来进行完全备份?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-21 08:58:12

使用None代替"",这样您就可以连接:

代码语言:javascript
运行
复制
def get_previous_backups(backup_dir, extension, full=""):
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33254716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档