2012-01-27 39 views
12

我是新來的蟒蛇,我想單獨我的功能集成到不同的文件,比如我用C做++(驅動程序文件,並針對不同類型的功能,我結束了在編譯時一起鏈接文件)。如何鏈接多個Python腳本

假設我想創建一個簡單的「驅動器」文件,啓動主程序和「功能」文件,其中包括簡單的功能,這是由「功能」文件中的驅動程序和其他函數調用。

我應該怎麼做呢?由於python沒有編譯,我如何將文件鏈接在一起?

回答

29

你可以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 

,就是這樣!這是導入模塊的官方tutorial

+0

對我來說,當我進行打印ANS,它打印無。我不知道爲什麼:(誰能幫助我? – ePascoal 2014-09-23 17:19:55

+0

@ePascoal你確定你是在FUNC「迴歸」 A + B? – mitch 2014-09-25 14:15:21

+0

太神奇了!以前,我看見,我總是用插座! – Luke 2016-11-29 07:48:03

1

你應該看看進入官方tutorial,並且this方便的頁面,這將幫助您快速啓動:)

1

在driver.py的開頭,寫:

import functions 

這使您可以訪問在functions.py定義屬性,引用就像這樣:

functions.foo 
functions.bar(args) 
... 
+0

這可能是一個愚蠢的問題,但也可用的變量? – beckah 2015-04-24 15:09:44

1

你可以輸入任何的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()