Как мне импортировать другие скрипты? - PullRequest
3 голосов
/ 06 ноября 2011

ОК, я попытался найти вопрос, но получаю много ответов, которые меня смущают (извините за мое невежество).Я написал сценарий и хочу импортировать другой сценарий, чтобы при запуске его в терминале это было так, как если бы второй сценарий был частью первого.Как мне это сделать?Я ценю любую помощь.

Ответы [ 4 ]

3 голосов
/ 06 ноября 2011

Допустим, вы хотите a.py использовать b.py. Если код в b.py написан вне какой-либо функции или класса, все, что вам нужно сделать для его запуска, это просто:

import b

Если, однако, код находится в какой-то функции, например:

# Code in b.py
def some_func():
    # Implementation

Тогда вам нужно либо:

import b
b.some_func()

или

from b import some_func
some_func()

Наконец, если ваш код находится в функции класса, например:

# Code in b.py
class ClassB():
    def some_func(self):
        # Implementation

Вы можете:

from b import ClassB
obj_b = ClassB()
obj_b.some_func()
2 голосов
/ 06 ноября 2011

Если вы хотите, чтобы скрипт просто вставлялся в строку (например, #include), значит, вы делаете это неправильно.

Это импортирует все символы из вашего другого скрипта, как если бы они были определенылокально (за исключением того, что доступ к глобальной переменной в импортированном коде будет ограничен импортированным модулем, а не локальным модулем).

from OtherScript import *
0 голосов
/ 06 ноября 2011

Импорт, поэтому, если другой сценарий называется FirstScrity.py

import FirstScript

Чтобы использовать что-то из этого сценария, вам нужно выполнить FirstScript.Вы не хотите делать то, что вы можете сделать

from FirstScript import "NAME OF THING TO USE"

или

from FirstScript import *
0 голосов
/ 06 ноября 2011

Если у вас есть скрипт с именем first.py:

def print_something():
    print("something")

Затем вы можете import из другого скрипта (в том же каталоге):

import first

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