2008-11-27 18 views
21

Estoy intentando almacenar en una variable el nombre del archivo actual que abrí de una carpeta.¿Cómo obtener el nombre de un archivo abierto?

¿Cómo puedo hacer eso? He intentado cwd = os.getcwd() pero esto solo me da la ruta de la carpeta, y necesito guardar el nombre del archivo abierto.

¿Puedes ayudarme?

+0

debe tener en claro, ¿quiere decir el archivo .py (es decir, el script en sí) o un archivo que abrió con abrir ("nombre de archivo")? – hasen

Respuesta

38
Python 2.5.1 (r251:54863, Jul 31 2008, 22:53:39) 
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> f = open('generic.png','r') 
>>> f.name 
'generic.png' 
3

¿Quizás este script es lo que quieres?

import sys, os 
print sys.argv[0] 
print os.path.basename(sys.argv[0]) 

Cuando ejecuto el script anterior, aparece;

D:\UserData\workspace\temp\Script1.py 
Script1.py 
31

Un truco más útil para agregar. Estoy de acuerdo con la respuesta correcta original, sin embargo, si eres como yo, llegué a esta página queriendo el nombre de archivo solo sin el resto de la ruta, esto funciona bien.

>>> f = open('/tmp/generic.png','r') 
>>> f.name 
'/tmp/generic.png' 
>>> import os 
>>> os.path.basename(f.name) 
'generic.png' 
Cuestiones relacionadas