2016-08-05 3 views
-2

У меня есть текстовый файл с множеством строк данных. Я хотел бы настроить цикл, который читает каждую строку данных, а затем определяет эту строку/данные как новую переменную, которая будет использоваться в моем сценарии python. 'Определите каждую новую строку как переменную

Пример файла:

1 
2 
3 
4 
5 
6 
7 
8 
9 

Python Script (до сих пор ...):

#!/usr/bin/python 

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

Хорошо, эта часть выглядит неплохо (но ее можно улучшить с помощью 'для строки в 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 линия активирует интерпретатор питона на данной строке, так например, когда i == 0 вы получаете exec("line0 = 0"), и поэтому line0 появляется в наличии!

+0

Где я могу вставить путь к текстовому файлу? –

Смежные вопросы