J'ai deux fichiers une fois le download.py et le main.py.
Je voudrais exécuter le fichier download.py dans main.py.

Ma question est la suivante: comment puis-je exécuter ce fichier download.py dans le main? Et aussi la classe download.py a deux paramètres que je voudrais utiliser dans main.py, comment puis-je les retourner?

Main.py

from data.download import  absolute_import
.
.
.

Download.py

def download(data_dir):
    ...
    check_extract_zip(SAVE_PATH)


def check_extract_zip(data_dir):
  ...
  extract_zip(data_dir)


def extract_zip(data_dir):
   ...





def define_data_download_flags():
  ...



def main(_):
  download(flags.FLAGS.data_dir)


if __name__ == "__main__":
  define_data_download_flags()
  FLAGS = flags.FLAGS
  app.run(main)
1
Aline 22 oct. 2020 à 10:14

2 réponses

Meilleure réponse

Essaye ça:

main.py

from download import main as download

def main():
  download()

if _name_ == "_main_":
  main()

download.py

def download(data_dir):
    ...
    check_extract_zip(SAVE_PATH)


def check_extract_zip(data_dir):
  ...
  extract_zip(data_dir)


def extract_zip(data_dir):
   ...


def define_data_download_flags():
  ...



def main():
  download(flags.FLAGS.data_dir)


if _name_ == "_main_":
  define_data_download_flags()
  FLAGS = flags.FLAGS
  app.run(main)
1
ayiram 22 oct. 2020 à 07:51

Il existe plusieurs façons de faire exécuter un autre fichier Python.

  1. Utilisez-le comme un module. importez le fichier que vous souhaitez exécuter et exécutez ses fonctions. Par exemple, comme vous voulez importer download.py dans main.py, en supposant que les fichiers sont dans le même répertoire, à l'intérieur de main.py vous écririez

    import download.py

Maintenant dans main.py, vous pouvez appeler n'importe quelle fonction à l'intérieur de download.py comme le code ci-dessous.

download.download(data_to_put)

download() est la fonction de votre fichier download.py

1
Varsha 22 oct. 2020 à 08:39