2016-07-29 12 views
0

私は、リストをフィルタリングし、内容をExcelにエクスポートする大きな関数を含むPythonスクリプトを持っています。異なるPythonスクリプトを作成して、異なるケースに対して異なるフィルタを指定し、それらをフィルタを適用する関数でPythonスクリプトに渡すことができるようにしたいと考えています。私はいくつかの一般的なユースケースのために異なるフィルタを持つことになり、代わりに私のフィルタを変更するので、私はむしろ私の関数を含むスクリプトを呼び出して、渡し各ユースケースのためのPythonスクリプトを作成します別のスクリプトからPythonスクリプトを呼び出して変数を渡す

#Script called function_script with function to apply filters 
def my_funct(filter1, filter2, filter3, etc): 
    apply filters to list 
    export results to excel 

例えば

フィルタ。何かのようなもの。

#One script where filters for category 1 are defined 
filter1 = 'Foo' 
filter2 = 'Bar' 
filter3 = 'Test' 
function_script(filter1, filter2, filter3) 
+1

機能付きスクリプトをインポートしますか? –

+0

あなたは単に 'import function_script'を実行してそれを使うことができますか?彼らは同じ作業ディレクトリにいなければなりませんか?変数を渡すには単に 'function_script(filter1、filter2、filter3)ですか? – Jstuff

+0

'function_script'が' function_script'にあると仮定すると、2つのファイルが同じディレクトリにある場合、 'function_file import function_script' – dashiell

答えて

-1

execfileを(ファイル名[、グローバル[、地元の人々]])

+0

ああ、それは必要ありません –

0

のが大きな機能と、そのファイルが他のすべてと1つのディレクトリにあると仮定しましょう:

some folder 
|-functions_file.py 
|-main.py 

だからあなたの関数のファイルでしょうたとえば、次のような関数を含める:

def add(num1, num2): 
    return num1+num2 

def subtract(num1, num2): 
    return num1-num2 

#here is example function to show you how to pass more values to function 
def add_all(numbers): 
    #if you need individual values 
    for number in numbers: 
     print number 
    return sum(number) 

そして、その関数をから呼び出すすることができます:

import functions_file 

print(functions_file.add(1,20)) #prints 21 if you're on py2 you don't need() for print 

print(functions_file.add_all([1,2,3,4,5,6])) 
#you pass parameters in list -> 21 is output 
+0

私は関数に渡すことになるパラメータの数が毎回それを一般化する方法はありますか? – Jstuff

+0

あなたの関数が処理する必要があります、そして、あなたの質問はそれを尋ねませんでした。しかし私はそれを答えに含みます –

関連する問題