Скрипт для чтения файла в строке и извлечения ключей и значений в переменные? - PullRequest
0 голосов
/ 01 мая 2020

У меня есть файл (filename.txt), в котором есть несколько записей ключ = значение. Я хочу написать python скрипт, который будет делать следующее:

  1. Читать каждую строку файла
  2. Для каждой строки извлекать ключ в переменную с именем 'key' и значением в переменную с именем 'value'
  3. Выведите обе переменные 'key' & 'value' для строки1, а затем перейдите к строке2

образец файла -

firstname=john
lastname=gates
age=12

ожидаемый результат-

firstname john
lastname gates
age 12

Я использовал ниже команды regex и sed, которые отлично работают. Столкнувшись с проблемой записи для l oop и захвата значений в 2 переменных для каждой строки

cat filename.txt | sed 's/.*=//'
cat filename.txt | sed 's/=.*//'

1 Ответ

0 голосов
/ 03 мая 2020

Вам нужно прочитать в файле и сохранить значения, вероятно, в виде словаря:

kvps = {}
with open(file, 'r') as f:
    kvps = dict(line.strip().split('=') for line in f)

Теперь, чтобы напечатать ключи и значения, просто используйте

for k,v in kvps.items():
    print(f"{k} {v}")

# firstname john
# lastname gates
# age 12

Если вы просто хотите напечатать ключи и значения, вы можете использовать

with open(file, 'r') as f:
    for line in f:
        print(" ".join(line.strip().split('=')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...