Saltar al contenido

En el cuaderno Colab de Google, ¿cómo llamo a una función desde un archivo de Python?

Ten en cuenta que en la informática un problema casi siempere puede tener diferentes resoluciones, pero nosotros enseñamos la mejor y más eficiente.

Solución:

Editar: Si desea importar un módulo local, querrá editar su sys.path para apuntar a ese nuevo directorio. Aquí hay un cuaderno de ejemplo: https://colab.research.google.com/notebook#fileId=1PtYW0hZit-B9y4PL978kV2ppJJPhjQua

Respuesta original: Claro, aquí hay un cuaderno de ejemplo: https://colab.research.google.com/notebook#fileId=1KBrq8aAiy8vYIIUiTb5UHG9GKOdEMF3n

Hay dos celdas: la primera define un .py archivo con una función para ser importado.

%%writefile example.py
def f():
  print 'This is a function defined in a Python source file.'

La segunda celda utiliza execfile para evaluar eso .py archivo en el intérprete de Python del cuaderno.

# Bring the file into the local Python environment.
execfile('example.py')

# Call the function defined in the file.
f()

Por favor, intente esta función para importar una función desde su disco a su computadora portátil colab:

from google.colab import files
import zipfile, io, os

def upload_dir_file(case_f):
    # author: yasser mustafa, 21 March 2018  
    # case_f = 0 for uploading one File or Package(.py) and case_f = 1 for uploading one Zipped Directory
    uploaded = files.upload()    # to upload a Full Directory, please Zip it first (use WinZip)
    for fn in uploaded.keys():
        name = fn  #.encode('utf-8')
        #print('nfile after encode', name)
        #name = io.BytesIO(uploaded[name])
    if case_f == 0:    # case of uploading 'One File only'
        print('n file name: ', name)
        return name
    else:   # case of uploading a directory and its subdirectories and files
        zfile = zipfile.ZipFile(name, 'r')   # unzip the directory 
        zfile.extractall()
        for d in zfile.namelist():   # d = directory
            print('n main directory name: ', d)
            return d
print('Done!')

Luego sigue los siguientes dos pasos: 1- Si tienes un archivo llamado (package_name.py), para subirlo a tu cuaderno colab llama:

file_name = upload_dir_file(0)

2- Luego, importa tu paquete:

import package_name

Nota: puede usar la misma función para: 1- cargar un archivo (csv, excel, pdf, ….):

file_name = upload_dir_file(0)

2- subir Directorio y sus subdirectorios y archivos:

dir_name = upload_dir_file(1)

¡Disfrútala!

valoraciones y reseñas

Si te apasiona la informática, tienes la opción de dejar una noticia acerca de qué te ha impresionado de este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *