¿Para qué sirven los símbolos " % " y " ! " en comandos como " %cd " y " !ls " si cd, ls y mkdir ...

Jorge Torres Arboleda

Jorge Torres Arboleda

Pregunta
studenthace 5 años

¿Para qué sirven los símbolos " % " y " ! " en comandos como " %cd " y " !ls " si cd, ls y mkdir parecen cumplir la misma función?

8 respuestas
para escribir tu comentario
    Edward Giraldo Martínez

    Edward Giraldo Martínez

    studenthace 3 años

    Encontré este tutorial dónde explica como se llaman, para que se usan, entre otras cosas más.

    La cuestión es que no es impresindible ponerle o no % (en algunos casos)

    👾

    Jorge Torres Arboleda

    Jorge Torres Arboleda

    studenthace 4 años

    Ejecuté esas líneas en colab en el cuaderno de bienvenida, no me da para insertar la captura pero los resultados fueron:

    ls >sample_data/ cd sample_data/ >content/sample_data/ ls >anscombe.json* mnist_test.csv california_housing_test.csv mnist_train_small.csv california_housing_train.csv README.md*

    Puedes ensayarlo, el ls después de usar cd, muestra el contenido del directorio donde se está ubicado, de hecho eso se puede ver en la captura que ya había subido donde luego de entrar en drive me muestra su contenido, que es la carpeta 'My Drive'

    Alejandro Cuello Maure

    Alejandro Cuello Maure

    studenthace 4 años

    También es por que usando el % el ambiente entiende que quiere que se "aplique la ejecucion y se mantenga el cambio" , se que esto suena a chino pero al momento de usar el cd para cambiar de carpeta, lo que hace es solo hacer esa accion pero no guardar el cambio o sea solo te mostrará que la nueva carpeta por un tiempo pero en realidad no se hizo la acción.

    Ejecuta estas lineas en el google colab:

    cd alguna_carpeta/

    y despues

    ls > alguna_carpeta/ # esperabamos que saliera los archivos de la nueva carpeta # pero no sucede por que no se guardo el cambio de # carpeta

    En cambio con el % le decimos al notebook que ejecute esta accion y se mantenga el cambio hecho

    Jorge Torres Arboleda

    Jorge Torres Arboleda

    studenthace 4 años

    AlejoCm, si fuera por comodidad simplemente sería más cómodo no usar % dado que, como muestro en el comentario de antes, también funciona.

    Alejandro Cuello Maure

    Alejandro Cuello Maure

    studenthace 4 años

    Con python se puede acceder a los archivos como si estuvieramos con shell importando la liberia os que se encarga de comunicar el sistema operativo con python.

    import os # para listar directorios os.listdir() # para cambiar os.chdir('tu/ruta/')

    Pero usando el

    %
    es mas comodo y facil de usar

    JIMMY ALEXANDER CRUZ QUINTERO

    JIMMY ALEXANDER CRUZ QUINTERO

    studenthace 4 años

    Como se esta trabajando en un notebook, en colab o jupyter, es necesario decirle a la herramienta que se va a ejecutar un comando del sistema operativo.

    Jorge Torres Arboleda

    Jorge Torres Arboleda

    studenthace 5 años

    Pero no "se tiene que usar", al usarlos sin "%" y "!" también funcionan: Captura.PNG

    Erik Ochoa

    Erik Ochoa

    studenthace 5 años

    Es porque así se tiene que usar los comandos de shell en Colab, recuerda que estamos programando en python, esto no sería posible a no ser por la librería IPython.

Curso de Pandas con Python [Empieza Gratis]

Curso de Pandas con Python [Empieza Gratis]

Pandas es la librería de software libre para manipulación de datos con Python más usada en Data Science. Manipula grandes sets de datos numericos, tablas y series de tiempo. Trabaja con múltiples formatos de archivos de datos como csv o xls. Crea DataFrames que podrás manipular y analizar sin preocuparte por el performance de tus aplicaciones, todo esto muy fácil y rápido con Pandas.

Curso de Pandas con Python [Empieza Gratis]
Curso de Pandas con Python [Empieza Gratis]

Curso de Pandas con Python [Empieza Gratis]

Pandas es la librería de software libre para manipulación de datos con Python más usada en Data Science. Manipula grandes sets de datos numericos, tablas y series de tiempo. Trabaja con múltiples formatos de archivos de datos como csv o xls. Crea DataFrames que podrás manipular y analizar sin preocuparte por el performance de tus aplicaciones, todo esto muy fácil y rápido con Pandas.