2017-03-07 16 views
0

私はここで解決策を探していましたが、間違ったフレーズを探していた可能性があります。 fcts.txtループ内の動的変数python

のようなさまざまな機能が含まれていながら、

from yahoo_finance import Share 
yahoo = Share('YHOO') 
print (yahoo.get_open()) 

from yahoo_finance import Share 
for line in open('fcts.txt'): 
    yahoo = Share('YHOO') 
    print (yahoo +'.' + line) 

それは基本的には次が、fcts.txt内部のすべての機能のために行う必要があります。私は私のコードの問題は、次のされ、パイソンに新たなんです

get_open() 
get_change() 
... 

ありがとう、 ステファン

+0

私はあなたの質問を理解できません。 fcts.txtには何がありますか? Pythonの関数ですか? – GPhilo

+0

'Share'インスタンスのPythonメソッドの名前です。 – Alfe

+2

なぜあなたのtxtファイルに奇妙なハーフコードがありますか?非常に穏やかではないようです。解決のためAlfeに – deceze

答えて

1

あなたは、このような名前でメソッドにアクセスすることができます

from yahoo_finance import Share 

with open('fcts.txt') as methodsFile: 
    for methodName in methodsFile: 
    yahoo = Share('YHOO') 
    method = getattr(yahoo, methodName.strip()) 
    print (method()) 

しかし、それは私にはかなりの粗探します。

+1

あなたの 'fcts.txt'は' get_open'や 'get_change'のように括弧を付けないでください。ファイルにかっこがある場合は、代わりに 'methodName.strip( '()\ n')'を使用してください。 – Alfe

+0

素早く解決していただきありがとうございます。完璧に動作し、あなたが述べたようにfcts.txtを変更しました。 – scounce

+0

:)ようこそStackOverflow!あなたがその答えを質問から解決したと思うなら、それを受け入れてください(答えの左側のckeckmarkをクリックしてください)。 – Alfe

関連する問題