2011-03-03 40 views
8

Esto probablemente se ha hecho antes, y es muy básico, pero:Python: Importar un guión en ralentí

estoy usando Windows 7. Tengo inactivo para Python 2.4.4 y 3.1. Tengo algunos scripts que residen en ubicaciones arbitrarias en mi sistema de archivos. Me gustaría importarlos y jugar con sus tipos. ¿Como lo puedo hacer?

En Ubuntu, en la línea de comandos, import scriptname funciona si el directorio al que llamé python contiene scriptname. ¿Cómo importaría un script desde otro lugar?

+1

http://docs.python.org/tutorial/modules.html#the-module-search-path –

Respuesta

6

En inactivo, puede agregar una ruta que contenga su archivo scriptname.py.

>>> import pprint 
>>> import sys 
>>> print pprint.pprint(sys.path) 
# you could just move your scriptname.py to a directory in the sys.path list 
>>> sys.path.append(r"C:\Users\You\") 
>>> import scriptname 

También puede personalizar la variable de entorno PYTHONPATH en las ventanas para incluir otros directorios como "C: \ Users \ You \ lib"

+2

No se olvide de escapar de la barras invertidas en el directorio que agregue a sys.path (sys.path.append ("C: \\ Users \\ You \\") o simplemente sys.path.append (r "C: \ Users \ You \")) – cwa

+0

... o sys.path.append ('C:/Users/You') – kmote

1

Para importar un guión desde el ralentí, que puede hacer:

>>> import os 
>>> os.chdir('C:\\Users\\You\\Some\\Arbitrary\\Path') 
>>> import scriptname 

Tenga en cuenta que tendrá que llamar a los constructores con scriptname. antepuesto, como scriptname.myClass(...)

Si cambia algo en la secuencia de comandos, Deberá volver a cargar esta manera:

>>> import imp 
>>> imp.reload(scriptname) 

(Hay una manera más simple si lo que desea es jugar con los tipos de una escritura, y si la secuencia de comandos sólo contiene funciones y clases definiciones (sin código que se ejecuta). A continuación, puede simplemente abrir el script en IDLE y vaya al Run>Run Module. Cuando utiliza este método, no es necesario poner scriptname. antes de los constructores.)