2016-03-23 11 views
0

は、これは信じられないほどnoobishですが、ここで私が何をしたいの例です:__init__作業中の試みのPythonで変数をファイルとして宣言するにはどうすればよいですか?

class A: 
    def __init__(self): 
     self.m_file = file() # name required 
     self.m_file = None # readonly attribute error 
     self.m_file = "" # readonly attribute error 
    def ButtonPressed(self): 
     self.m_file = open(tkFileDialog.askopenfilename(), 'r') 

なし。私はpython init variable as fileを検索しようとしましたが、それらのキーワードは質問に答えない多くの投稿を持ち出しました。

+3

を試みる前に、これはあなたが変数がNoneかどうかを確認することができますとして、私は

def __init__(self): self.m_file = None 

このラインを保つ推薦します。それは動的に型付けされています。とにかく 'self.m_file'に割り当てるものは' ButtonPressed() 'に上書きされるので、' __init__'で何をしても構いません。 – DaveBensonPhillips

+0

あなたはPythonで変数を宣言しません。 'ButtonPressed'で割り当てられたら、ファイルがあります。 –

+0

実際の質問は何ですか?あなたの最終目標は何ですか?これは私には不明です。 – Goodies

答えて

2

コメントに記載されているように、ButtonPressedメソッドのopen()関数は、__init__呼び出しで行われたすべてのものを上書きします。あなたはPythonで変数の型を事前に宣言することはできませんクラス内の別の場所にそれを使用する

-2

おそらくopen() methodを使用します。あなたがコンストラクタでこれをしたいとは思わないが、open()があなたが探しているものです。

関連する問題