Как связать несколько скриптов Python - PullRequest
18 голосов
/ 27 января 2012

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

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

Как мне это сделать? Поскольку python не компилируется, как мне связать файлы вместе?

Ответы [ 3 ]

34 голосов
/ 27 января 2012

Вы можете import модулей. Просто создайте разные файлы Python и импортируйте их в начале вашего скрипта.

Например, я получил function.py файл:

def func(a, b):
    return a+b

И этот main.py файл:

import function

if __name__ == "__main__":
    ans = function.func(2, 3)
    print(ans)

И это все! Это официальный учебник по импорту модулей.

2 голосов
/ 25 октября 2014

Вы можете импортировать любой файл Python, просто набрав:

import filename

Но в этом случае вы должны вводить имя файла каждый раз, когда хотите его использовать.Например, вы должны использовать filename.foo, чтобы использовать определенную функцию foo внутри этого файла.Тем не менее, вы также можете сделать следующее:

from function import *

В этом случае все, что вам нужно сделать, это набрать ваши команды напрямую без filename.

Четкий пример:

Если вы работаете с черепашкой Python, используя import turtle, то каждый раз, когда вам нужно набирать turtle.foo.Например: turtle.forward(90), turtle.left(90), turtle.up().

Но если вы используете from turtle import *, то вы можете выполнять те же команды без turtle.Например: forward(90), left(90), up().

1 голос
/ 27 января 2012

В начале driver.py напишите:

import functions

Это дает вам доступ к атрибутам, определенным в functions.py, на которые ссылаются так:

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