逐行读取操作并为每一行创建 eval()
Reading operations line by line and making eval() for each line
所以我尝试从文本文件中读取操作并使用 eval() 函数在 python 中执行它们。
只要是一个操作就没问题,但是当我有两个或更多操作时,它就无法正常工作
import math
with open('operations.txt', 'r') as f:
line = f.read()
line = (eval(line))
line = (eval(line))
print(line)
在我的文本文件中有两行
2 + 2 * 4
(按预期工作)
4 / 2
(当我将它添加到 python 时,它会导致整个程序崩溃)
谁能给我一些建议。我怎样才能阅读所有行并为每一行做 eval()
?我正在尝试做到通用,所以如果假设我进行了 10 种不同的操作,我想为每个操作获取结果并将它们保存在其他文本文件中。
我假设您想遍历文件中的行:
with open('operations.txt', 'r') as f:
for line in f.readlines()
result = eval(line)
...
另请参阅关于该主题的 Python doc。
评论:它崩溃的原因是因为它试图将整个文件作为一个命令求值,即eval('2+2*4\n4/2')
,这不是Python代码
所以我尝试从文本文件中读取操作并使用 eval() 函数在 python 中执行它们。 只要是一个操作就没问题,但是当我有两个或更多操作时,它就无法正常工作
import math
with open('operations.txt', 'r') as f:
line = f.read()
line = (eval(line))
line = (eval(line))
print(line)
在我的文本文件中有两行
2 + 2 * 4
(按预期工作)4 / 2
(当我将它添加到 python 时,它会导致整个程序崩溃)
谁能给我一些建议。我怎样才能阅读所有行并为每一行做 eval()
?我正在尝试做到通用,所以如果假设我进行了 10 种不同的操作,我想为每个操作获取结果并将它们保存在其他文本文件中。
我假设您想遍历文件中的行:
with open('operations.txt', 'r') as f:
for line in f.readlines()
result = eval(line)
...
另请参阅关于该主题的 Python doc。
评论:它崩溃的原因是因为它试图将整个文件作为一个命令求值,即eval('2+2*4\n4/2')
,这不是Python代码