Encuentre la ruta al archivo dado usando Python

Encuentre la ruta al archivo dado usando Python

Podemos obtener la ubicación (ruta) del archivo de script en ejecución .py con __file__. __archivo__ es útil para leer otros archivos y proporciona la ubicación actual del archivo en ejecución. Se diferencia en versiones. En Python 3.8 y versiones anteriores, __file__ devuelve la ruta especificada al ejecutar el Pitón dominio.

Podemos obtener una ruta relativa si se especifica una ruta relativa. Si especificamos una ruta absoluta, se devuelve una ruta absoluta. Pero en Python 3.9 y posteriores, __file__ siempre devuelve una ruta absoluta, la módulo de sistema operativo proporciona diversas utilidades.

Formas de obtener el directorio actual en Python con sistema operativo

Hay muchas formas de obtener el directorio actual en Python con sistema operativo. Aquí, utilizamos algunas formas generalmente utilizadas para obtener el directorio actual en Python con el sistema operativo que se detalla a continuación.

  • Usando ruta.cwd()
  • Usando sistema operativo.getcwd()
  • Usando pathlib.Path().absolute()
  • Usando sistema operativo. ruta.nombrebase
  • Usando os.ruta.abspath

Encuentre la ruta al archivo dado usando Path.cwd()

Aquí, la idea del Directorio de Trabajo Actual (CWD) ocupa un lugar importante. Pensar en CWD como la carpeta en la que se ejecuta Python. Python asume que el archivo comienza en CWD si se llama simplemente por su nombre, por lo que una referencia de solo nombre solo funcionará si el archivo está en CWD de Python. Path.cwd() devuelve el directorio actual.

Python3




from> pathlib> import> Path> print> (Path.cwd())>

Producción:

C:Usersint.suraj.gupta 

Obtenga el directorio actual en Python con sistema operativo usando os.getcwd()

Podemos obtener la ruta absoluta del directorio de trabajo actual. Entonces, dependiendo de la versión utilizada, se recupera una ruta relativa o una ruta absoluta. Para obtener el directorio de trabajo actual en Python, utilice el archivo os. obtenercwd () método. Esta función del módulo Python OS devuelve la cadena que contiene la ruta absoluta al directorio de trabajo actual.

Python3




import> os> print> (> 'Get current working directory : '> , os.getcwd())>

Producción:

Get current working directory : C:Usersint.suraj.gupta 

Obtenga el directorio actual en Python con sistema operativo usando rutalib.Ruta().absoluta()

Esta función de Python módulo de sistema operativo devuelve la cadena que contiene la ruta absoluta al directorio de trabajo actual.

Python3




import> pathlib> # current working directory> print> (pathlib.Path().absolute())>

Producción:

C:Usersint.suraj.gupta 

Encuentre la ruta al archivo dado usando os.path.basename

Podemos obtener el nombre del archivo y el nombre del directorio del archivo en ejecución de la siguiente manera. La clave para entender acerca de __archivo__ es que el intérprete lo ajusta en tiempo de ejecución para que Pitón sabe con qué archivo está tratando cuando el script utiliza varios módulos. La ventaja de llamar a Path( file__) es que devuelve una cadena que contiene la ruta y el archivo en el que está trabajando actualmente.

  • Puede llamar a __file__ mientras modifica un archivo. Como resultado, si intenta llamarlo desde el intérprete de shell, no se ejecutará.
  • __file__ no funciona en un Cuadernos Jupyter contexto.

Python3




import> os> print> (> 'File name : '> , os.path.basename(__file__))> print> (> 'Directory Name: '> , os.path.dirname(__file__))>

Producción:

Encuentre la ruta al archivo dado usando os.path.abspath

Puede parecer complicado, pero os.path.abspath() simplemente significa que este método devuelve el nombre de la ruta proporcionada como argumento para esta función. La documentación afirma que este método produce una versión absolutizada normalizada de la ruta del nombre de ruta.

Ejemplo 1: Para obtener la ruta absoluta del archivo en ejecución.

Python3




import> os> print> (> 'Absolute path of file: '> ,> > os.path.abspath(__file__))> print> (> 'Absolute directoryname: '> ,> > os.path.dirname(os.path.abspath(__file__)))>

Producción:

Ejemplo 2: Si especificamos una ruta absoluta en os.path.abspath(), se devolverá tal como está, por lo que si __file__ es una ruta absoluta, no se producirá ningún error incluso si configuramos os.path. abstracción (__archivo__)

Python3




import> os> pythonfile> => 'pathfinding.py'> # if the file is present in current directory,> # then no need to specify the whole location> print> (> 'Path of the file..'> , os.path.abspath(pythonfile))> for> root, dirs, files> in> os.walk(r> 'E:geeksforgeekspath_of_given_file'> ):> > for> name> in> files:> > > # As we need to get the provided python file,> > # comparing here like this> > if> name> => => pythonfile:> > print> (os.path.abspath(os.path.join(root, name)))>

Producción: