Вы можете использовать * с вашим параметром, который будет перехватывать любые переданные аргументы в кортеже:
def f(*filenames):
# filenames is a tuple with all your arguments and you can iteratore over
print(type(filenames)) # prints <class 'tuple'>
for arg in args:
pass # do something here
Если вам также нужен позиционный аргумент (писатель в вашем случае), он должен быть помещен первым параметр:
def f(writer, *filenames):
print(writer)
print(len(filenames)) # will be zero if only a writer is passed
print(type(filenames))
В вашем случае достаточно использовать:
def mm(filenames): # you can pass anything that is iterable (list, tuples, strings, ...)
for file in filenames: