2016-08-05 7 views
-2

私は多くの行のデータを持つテキストファイルを持っています。私は、データの各行を読み込んで、その行/データをPythonスクリプトで使用する新しい変数として定義するループをセットアップしたいと思います。新しい行を変数として定義する

ファイルの例:

1 
2 
3 
4 
5 
6 
7 
8 
9 

のPythonスクリプト(今のところ...):

#!/usr/bin/python 

f = open('/home/weather/test', 'r') 
for line in f.read().split('\n'): 
    print line 
f.close() 
+0

この部分は良く見えますが(for行をf.readlines()で改善することができます)。何が問題になっていますか? – RedX

答えて

2

通常、動的に名前付きの変数を使用する場合は、実際にはシーケンスまたはマッピングが必要です。あなたの場合、シーケンス(例:リスト)で十分です。行のリストは.readlinesメソッドによってファイルから取り出すことができます。

with open('/home/weather/test', 'r'): 
    all_lines = f.readlines() 
print all_lines[0] # first line 
print all_lines[1] # second line 
print len(lines) # lines count 
1

あなたはListを作成し、この

ようにそれに変数を追加する必要が
#!/usr/bin/python 

f = open('/home/weather/test', 'r') 
variables=[] 
for line in f.readlines(): 
    variables.append(line) 
f.close() 

Hereが必要なコードを表す文字列とリスト

1

使用execについての良いチュートリアルです:

for i in range(5): 
    exec('line%d=%d' % (i, i)) 

print(line0) 
print(line1) 
print(line2) 
print(line3) 
print(line4) 

出力:

0 
1 
2 
3 
4 

execラインは、与えられた文字列のPythonインタプリタを活性化し、たとえばi == 0の場合はexec("line0 = 0")となり、line0が存在するようになります。

+0

テキストファイルのパスはどこに挿入しますか? –

関連する問題