Как я могу импортировать данные из.txt и указывать их как мои новые переменные? И каждый раз сохраняйте вывод как новый текстовый файл с моими входными переменными и решением.
У меня есть текстовый файл "values.txt", который включает в себя:
k=10
t=20
r=8.5
(разделенные "enter")
и у меня также есть файл python, в котором помещается уравнение: a = k*t/r
пока я выяснил только эти:
txt = open("values.txt").read()
print(txt)
a = k*t/r
print(a)
txt.close()
В более общем плане вы можете создать значение dict variable_name: значение, которое будет использоваться в ваших уравнениях.
Например:
variables = {}
with open("values.txt") as f:
for line in f:
name, value = line.split("=")
variables[name] = float(value)
k = variables["k"]
t = variables["t"]
r = variables["r"]
a = k*t/r
Прочтите файл. Отделим \r\n
. Извлеките значения, разделив на =
txt = open("values.txt").readLines()
k = float(txt[0].split("=")[0])
t = float(txt[1].split("=")[0])
r= float(txt[2].split("=")[0])
a = k*t/r
print(a)
txt.close()
Этот метод хорош при работе с меньшими значениями, в противном случае используется csvreader
Я предпочитаю хранить мой .txt
как json
файл. Мое filename
выглядит так:
{ "foo":
"bar"
}
Отсюда вы можете
import json
#Read JSON data into the datastore variable
if filename:
with open(filename, 'r') as f:
datastore = json.load(f)
#Use the new datastore datastructure
print datastore["foo"]
Если у вас есть контроль над форматом входного файла, сделайте его как можно более простым. Поместите все три числа в одну строку (как в 10 20 8.5
) и прочитайте с помощью:
with open("values.txt") as infile:
k, t, r = map(float, infile.read().split())
Вы можете прочитать каждую строку в файле, итерации по ней. Затем вы можете разбить каждую строку на символ =
.
constants = {}
with open('values.txt', 'r') as f:
for line in f:
name, val = line.split('=')
constants[name] = float(val)
>>> constants['a']
10.0
>>> constants['t']
20.0
>>> constants['r']
8.5
Я создал словарь под названием constants
который содержит любое количество пар name: value
как вам нравится для каждой константы. Тогда все, что вам нужно сделать, это изменить ваши вычисления, чтобы получить их значения из словаря констант.
Это позволяет добавлять столько констант, сколько вам нужно: не жестко кодируя любые переменные, вы добавляете расширяемость.
values.txt
был открыт для получения инструкций о том, как его хранить.