Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python函数中使用可选参数_Python_Function - Fatal编程技术网

在python函数中使用可选参数

在python函数中使用可选参数,python,function,Python,Function,我有这个功能: 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

我有这个功能:

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.bz2这样的文件将与过滤器匹配。所以这个函数很有魅力,但这是我的问题。这个函数是我编写的备份脚本的一部分。它进行增量备份和完整备份。完整备份的名称略有不同。在tar文件的日期之前是一个_FULL,以表明此文件包含系统的完整备份。这些文件也应该删除。我尝试为函数使用可选参数,如

def get\u previous\u备份(备份目录,扩展名,full=None):

并在串联中使用它,如:

'-[0-9][0-9]'+'-[0-9][0-9]'+完整+'.+扩展)]

还是用格式

'-[0-9][0-9]'+'-[0-9][0-9]'+{}+'.+扩展)]。格式(完整)

但这不起作用,因为不能用字符串连接dict或非类型对象。 所以我现在的问题是:


是否有可能在这一功能中实现这一点,或者我是否必须使用第二个功能来进行完整备份?

而不是
使用
,这样您就可以连接:

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