Tengo una rutina que toma una lista de cadenas como parámetro, pero me gustaría admitir pasar una sola cadena y convertirla en una lista de una cadena. Por ejemplo:¿Cómo puedo saber si una variable de python es una cadena o una lista?
def func(files):
for f in files:
doSomethingWithFile(f)
func(['file1','file2','file3'])
func('file1') # should be treated like ['file1']
¿Cómo puede mi función indicar si se ha pasado una cadena o una lista? Sé que hay una función type
, pero ¿hay una forma "más pythonic"?
Sin duda, el método más "explícito" sería exigir al usuario pasar el archivo único en una lista? Como func (['archivo1']) – dbr
Estoy de acuerdo en que eso es explícito, pero no veo cómo es más explícito. Ambas técnicas usan la misma lógica; uno es el reverso del otro. Creo que lo anterior es un poco más intuitivo, porque enfatiza que los archivos en la lista en lugar de la lista en sí son relevantes para func. –