return
немедленно вернется из функции.В вашем случае вы возвращаете первый результат вашего первого оператора glob
в каждой функции, а затем выходите из функции.
Все, что вы хотите сделать, это взять списки, возвращенные из glob
, и добавитьих вместе.Вы хотите что-то вроде:
def path_L2():
os.chdir("Z:/SGI/SYNCBBG/L2/results/results")
return glob.glob("f6365full_account_refresh*"+str(month)+str(day)+".1") + glob.glob("f6365icsh*"+str(month)+str(day)+".1")
def path_L3():
os.chdir("Z:/SGI/SYNCBBG/L3/results/results")
return glob.glob("f6365full_account_refresh*"+str(month)+str(day)+".1") + glob("f6365icsh*"+str(month)+str(day)+".1")
Я бы не стал использовать os.chdir - это активно меняет ваш рабочий каталог.Кроме того, поскольку ваши две функции эквивалентны, за исключением одной строки, вы должны создать одну функцию, которая выполняет всю эту работу.(Смысл использования функций заключается в том, чтобы не повторять один и тот же код снова и снова.) Я бы сделал следующее.(Я добавил некоторые дополнительные переменные ради аккуратности.)
def path_L(l_dir):
path1 = "f6365full_account_refresh*"+str(month)+str(day)+".1"
path2 = "f6365icsh*"+str(month)+str(day)+".1"
glob_expr1 = os.path.join(l_dir, path1)
glob_expr2 = os.path.join(l_dir, path2)
return glob.glob(glob_expr1) + glob.glob(glob_expr2)
Затем вы можете позвонить path_L
, чтобы получить L2 с:
l2_paths = path_L("Z:/SGI/SYNCBBG/L2/results/results")
l3_paths = path_L("Z:/SGI/SYNCBBG/L3/results/results")