Пара ключей ключа анализа в текстовом файле
Я новичок в Python, и я ищу, как разбирать файл.txt. Мой.txt файл - это элемент с информацией о вычислении, например:
myfile.txt
var0 = 16
var1 = 1.12434E10
var2 = -1.923E-3
var3 = 920
Как читать значения и помещать их в myvar0, myvar1, myvar2, myvar3
в python?
Ответы
Ответ 1
Я предлагаю хранить значения в словаре вместо отдельных локальных переменных:
myvars = {}
with open("namelist.txt") as myfile:
for line in myfile:
name, var = line.partition("=")[::2]
myvars[name.strip()] = float(var)
Теперь myvars["var1"]
к ним как к myvars["var1"]
. Если имена всех допустимых имен переменных python, вы можете поместить это ниже:
names = type("Names", [object], myvars)
и получить доступ к значениям, например, names.var1
.
Ответ 2
Попробуйте стандартный конфигуратор модуля python
Ответ 3
Как предлагает @kev, модуль configparser - это путь.
Однако в некоторых сценариях (немного уродливо, я признаю), но очень простой и эффективный способ сделать это - переименовать myfile.txt
в myfile.py
и сделать from myfile import *
(после исправления typo var 0
→ var0
)
Однако это очень небезопасно, поэтому, если файл находится из внешнего источника или может быть написан злоумышленником, используйте то, что проверяет данные, а не выполняет его вслепую.
Ответ 4
Я лично решил это, создав файл.py, который просто содержит все параметры в качестве переменных - затем сделал:
include PARAMETERS.py
в программных модулях, которым нужны параметры.
Это немного уродливо, но ОЧЕНЬ просто и легко работать.
Ответ 5
Если в одной строке есть несколько значений, разделенных запятыми, введите здесь код для разбора:
res = {}
pairs = args.split(", ")
for p in pairs:
var, val = p.split("=")
res[var] = val