2017-12-26 32 views
0

私はwindows10とpython 2.7.14を使用しています。コマンドプロンプトでpythonスクリプトを実行する。私はテキストファイルのいくつかの行を読み込み、それが配列に格納する必要があります一致する場合、いくつかのテキストと比較したいです。また、配列をグローバルにする必要があります。しかし、私のスクリプトでは、私はコンテンツを配列に格納することができません。どのようにこれを達成するのですか?テキストファイルの値をPython関数内の配列に代入してグローバルとして使用するにはどうすればよいですか?

#This method is to reading logfile and saving the different datas in different lists 
def Readlogs(Filename): 
     datafile = file(Filename) 
     for line in datafile: 
      if "login = " in line: 
       print(line) 
       trial=line 
       s2 = "= " 
       ArrayLogin = trial[trial.index(s2) + len(s2):] 
       print(ArrayLogin) 
      print(ArrayLogin) 
      if "Overlay = " in line: 
       print(line) 
       trial2=line 
       s2 = "= " 
       arrayOverlay = trial2[trial2.index(s2) + len(s2):] 
       print(arrayOverlay) 
    Readlogs(WriteFileName) 
+0

あなたは関数の外あなたの変数を宣言し、内部にそれらを使用したい場合は、おそらくあなたがここにいくつかの洞察を得ることができますhttps://stackoverflow.com/questions/423379/using-global-variables-in-a-それ以外の機能を使用することもできますか? –

答えて

0

空の配列を宣言してアイテムを追加できます。

#This method is to reading logfile and saving the different datas in different lists 
def Readlogs(Filename): 
     #empty array 
     ArrayLogin, arrayOverlay = [], [] 
     datafile = file(Filename) 
     for line in datafile: 
      if "login = " in line: 
       print(line) 
       trial=line 
       s2 = "= " 
       ArrayLogin.append(trial[trial.index(s2) + len(s2):]) 
       print(ArrayLogin) 
      print(ArrayLogin) 
      if "Overlay = " in line: 
       print(line) 
       trial2=line 
       s2 = "= " 
       arrayOverlay.append(trial2[trial2.index(s2) + len(s2):]) 
       print(arrayOverlay) 

     return ArrayLogin, arrayOverlay 

arr1, arr2, = Readlogs(WriteFileName) 
+0

配列を関数外でも使用できますか? – Prajna

+0

両方の配列を返すことができ、関数外で使用することができます。上記のコードを更新しました。 – Rakesh

+0

グローバルとして宣言することはできませんか? – Prajna

関連する問題