2017-05-19 20 views
-1

私はエニグマに基づいてコーディングシステムを作ろうとしていますが、私はそれにひねりを加えたいと思います。私のプログラムがメッセージを暗号化するために使用するパラメータを含む "ファイル"を作成するように、ユーザIDによってカスタマイズ可能なプログラムを作るために。これには整数だけでなくリストも含まれます。どうすればそれらを読むことができますか?ファイルからリストとintを読み取る方法は?

私は分割方法を使い、 "/"でリストを区切りますが、リストは文字列と見なされています。

[6,18,20,12,17,26,19,4,10,22,13,7,14,1,21,9,2,16,3,23,24,8,15,11,25,5]/[1,-5,6,3,-4,2,-4,-4,-3,5,-1,1,-2,-2,-1,3,4,2,5,-4,-4,-4,2,-2,1,5]/[5,-1,-1,-1,-1,1,4,-3,-1,4,1,1,-4,2,-5,4,0,-3,-1,1,-2,0,2,2,-1,-3]/[2,-1,2,0,-3,2,-1,-1,0,2,-1,2,-2,-1,1,4,2,0,-2,-5,2,-1,3,0,-3,-1]/11/5/17 
:ここ

は順番に、LIST1、LIST2、LIST3、list4、TRIGGER1、トリガ2、trigger3 Iは "/" で区切るしようとしたことを、私が割り当てたいPARAMATERSの一例です


f=open("param.txt") 
param=f.read() 
list_tbl,param=param.split("/",1) 
list_pattern1,param=param.split("/",1) 
list_pattern2,param=param.split("/",1) 
list_pattern3,param=param.split("/",1) 
trigger1,param=param.split("/",1) 
trigger2,param=param.split("/",1) 
trigger3=param 

リストを使用しようとすると、文字列であるため使用できません。

+2

ようこそStackOverflow。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。 MCVEコードを投稿して問題を正確に記述するまでは、効果的にお手伝いすることはできません。 投稿したコードをテキストファイルに貼り付け、説明した問題を再現できるはずです。 – Prune

+0

[リストの文字列表現をPythonでリストに変換する]の可能な複製(http://stackoverflow.com/questions/1894269/convert-string-representation-of-list-to-list-in-python) –

答えて

1

は基本的に何をしたいつまり、このような文字列からリストを作成するでしょうast.literal_evalを見てください:

from ast import literal_eval 
my_string = '[0, 1, 2, 3]' 
my_list = literal_eval(my_string) 

あなたはそれを取得し、代わりに辞書を使用することができ、複数の変数を作成するには例:

my_dict = {} 
for i in range(10): 
    my_dict['list' + str(i)] = <some value> 

これは、各変数の作成時に無駄な行よりもはるかにきれいです。

関連する問題