Совместное использование функции с разными модулями - PullRequest
0 голосов
/ 24 декабря 2018
  1. Если у меня есть такая функция

    def get_time_format(value, time):
        for item in value:
            time.append(datetime.strptime(str(item),'%H').strftime('%I%P').lstrip('0').upper())
        return time
    

    Например, вышеупомянутая функция, которую я использую в разных модулях, вместо повторения кода могу ли я поместить ее в отдельный файл и вызватьони в модуле, в зависимости от того, что требуется.

  2. Вторая часть связана с первой, поэтому, если у меня есть несколько строк кода, что является общим.Могу ли я создать файл со всеми общими строками кода?

    hierarchy:-
    hello.py
    hello.py/ds/a.py
    hello.py/ds/b.py
    hello.py/ds/c.py
    hello.py/ds/d.py
    

    Выше hello.py - мой основной файл, а a,b,c and d - модули.

Кто-нибудь может сказать мне, где я могу создать файл для совместного использования общих кодов в модулях, как это было указано в пунктах 1 и 2. Я новичок в python и впервые использую модули.

Ответы [ 3 ]

0 голосов
/ 24 декабря 2018

Я бы порекомендовал использовать пакет для этого.См. комментарий Бурана

Просто создайте каталог, в который вы поместите свой код, а затем включите файл __init__.py.__Init__.py - это специальный файл, который указывает python пометить каталог как пакет python и, следовательно, сделать его импортируемым.см. Для чего нужен __init__.py? .

Примечание : поскольку __init__.py является файлом маркера, это обычно просто пустой файл без кода.

Затем вы можете сделать следующее:

# structure
my_directory
-/__init__.py
-foo.py

# foo.py 
def bar(boo):
    print(boo)

Впоследствии импортировать функцию в другие модули или интерактивную оболочку следующим образом:

from foo import bar 
bar('ble')
>>>> ble

Это имеет дополнительное преимуществоразрешить импорт при работе вне каталога пакета:

from my_directory.foo import bar 
bar('boo')
>>>>boo

или полный импорт foo:

from my_directory import foo
foo.bar('boo')
>>>>boo
0 голосов
/ 24 декабря 2018

создайте <strong>init</strong>.py в подпапке ds, а затем импортируйте все функции из a, b, c, d в этот файл инициализации.тогда можно импортировать ds в hello.py и использовать все функции, определенные в ~ d.

0 голосов
/ 24 декабря 2018

сохранить функцию как файл example.py в любом каталоге.Пример home/ubuntu/Desktop Теперь используйте следующий фрагмент в любом коде для использования функции

import sys
sys.path.insert(0, 'home/ubuntu/Desktop')
import example as eg

eg.get_time_format(value, time)

Вы можете определить несколько функций, таких как get_time_format (значение, время) foo (x, y) bar (x, y) вexample.py нравится Чтобы использовать их, просто наберите eg.foo(x,y) eg.bar(x,y)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...