Mam plik pomocniczy, zadzwoń do tego helper.py z trzema różnymi klasami SQL,ML i AWS.

Każda klasa zawiera różne funkcje pomocnicze, ale nie wszystkie z nich wymagają tych samych pakietów E.G {X0}} Potrzebujesz modułu boto3, ale SQL nie.

Próbowałem

class AWS():
 def __init__(self):
   import boto3
   s3 = boto.client("s3")
 
 def magic():
   < do stuff with boto3>

Ale kiedy wtedy zadzwonię aws = AWS().magic() Dostaję "Boto3 nie jest zdefiniowany".

Mógłbym po prostu zawierać wszystkie pakiety na szczycie helper.py, ale raczej nie

0
CutePoison 27 lipiec 2020, 10:52

1 odpowiedź

Najlepsza odpowiedź

Polecam dzielenie pliku na trzy części.

- helper   # <-- make this as a folder
  - __init__.py
  - AWS.py
  - SQL.py
  - ML.py

W __init__.py

from .AWS import AWS
from .SQL import SQL
from .ML import ML

Jeśli chcesz gdzieś używać AWS

from helper import AWS
2
정도유 27 lipiec 2020, 08:24