Проблема в том, что не существует некоего числа, которое бы означало "минус ноль" для параметра b. Т.е. говорила бы "до самого конца строки".
При этом, указать подобный синтакис руками мы можем: "корова"[1:] == "орова".
А вот иметь параметр, который бы мы могли передать - нет. Разумеется, мы можем передать len(string) - длину строки. Но её ещё вычислять надо. В сочетании с rfind (поиск справа) получается совсем некошерно:
file_name_without_extension=filename[:fi