Python raw_input ignorar nueva línea

¿Hay alguna forma de ignorar los caracteres de nueva línea en los datos ingresados ​​a través de raw_input? Estoy tratando de usar raw_input para ingresar una lista de cadenas que se copian y pegan desde una hoja de cálculo. El problema es que parece que los nuevos caracteres de línea hacen que los datos se ingresen prematuramente. Todos los espacios vacíos se eliminarán de todos modos, por lo que eliminar las nuevas líneas a medida que se ingresan los datos sería un beneficio adicional. Estos datos deben ingresarse directamente a través del indicador de terminal y no leerse de un archivo.

Esto es lo que he hecho hasta ahora:

names = raw_input('Shoot me some names partner: ') print 'What do you want to do?' print '1 - format names for program 1' print '2 - format names for program 2' first_act = raw_input('Enter choice: ') print names print first_act 

Ahora, cuando ejecuto esto e ingrese los nombres ficticios que puse en una hoja de cálculo de google doc para probar, tan pronto como presioné shift + ctl + v, sin pulsar enter recibo esto:

 seth@linux-1337:~> python pythonproj/names.py Shoot me some names partner: abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop abcd,efg,hijkl,mnopWhat do you want to do? 1 - format names for program 1 2 - format names for program 2 Enter choice: abcd,efg,hijkl,mnop abcd,efg,hijkl,mnop seth@linux-1337:~> abcd,efg,hijkl,mnop If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf abcd,efg,hijkl,mnop seth@linux-1337:~> abcd,efg,hijkl,mnop If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf abcd,efg,hijkl,mnop seth@linux-1337:~> abcd,efg,hijkl,mnop If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf abcd,efg,hijkl,mnop seth@linux-1337:~> abcd,efg,hijkl,mnop If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf abcd,efg,hijkl,mnop seth@linux-1337:~> abcd,efg,hijkl,mnop If 'abcd,efg,hijkl,mnop' is not a typo you can use command-not-found to lookup the package that contains it, like this: cnf abcd,efg,hijkl,mnop seth@linux-1337:~> abcd,efg,hijkl,mnop 

Soy bastante nuevo en Python, y no soy el progtwigdor más experimentado con diferencia. Esto es Python 2.7.

    Como raw_input solo toma una línea de la entrada, necesitas crear un bucle:

     names = [] print('Shoot me some names partner: ') while True: try: name = raw_input() except KeyboardInterrupt: break names.append(name) print('What do you want to do?') print('1 - format names for program 1') print('2 - format names for program 2') first_act = raw_input('Enter choice: ') print(names) print(first_act) 

    Prueba de funcionamiento:

     Shoot me some names partner: name1 name2 ^CWhat do you want to do? 1 - format names for program 1 2 - format names for program 2 Enter choice: 1 ['name1', 'name2'] 1 

    Nota, he usado ^C (Ctrl-C) aquí para indicar el final de la entrada.

    No estoy seguro de lo que intenta preguntar, pero cuando usa raw_input (), elimina una nueva línea final.

    Y el doc dice lo mismo también.

    Si el argumento de solicitud está presente, se escribe en la salida estándar sin una nueva línea final. Luego, la función lee una línea desde la entrada, la convierte en una cadena (eliminando una nueva línea final) y la devuelve. Cuando se lee EOF, EOFError se levanta.