Dividido en espacios, excepto entre ciertos caracteres
Estoy analizando un archivo que tiene líneas como
type("book") title("golden apples") pages(10-35 70 200-234) comments("good read")
Y quiero dividir esto en campos separados.
En mi ejemplo, hay cuatro campos: tipo, título, páginas y comentarios.
El resultado deseado después de dividir es
['type("book")', 'title("golden apples")', 'pages(10-35 70 200-234)', 'comments("good read")]
Es evidente que una división de cadena simple no funcionará, porque simplemente se dividirá en cada espacio. Quiero dividir en espacios, pero preservar cualquier cosa entre paréntesis y comillas.
¿Cómo puedo dividir esto?