【发布时间】:2018-08-08 02:56:43
【问题描述】:
我想将字符串转换为 Python 语句。
从文本文件中获取字符串输入,例如
'dataframe['Column_name'].sum()'将字符串作为 Python 语句执行,例如
dataframe['Column_name'].sum()将结果存储在某个变量中
【问题讨论】:
-
您真正想要实现什么?这些字符串是从哪里来的?你真的需要存储整个语句吗?
我想将字符串转换为 Python 语句。
从文本文件中获取字符串输入,例如'dataframe['Column_name'].sum()'
将字符串作为 Python 语句执行,例如dataframe['Column_name'].sum()
将结果存储在某个变量中
【问题讨论】:
可以这样做,但不推荐。如果字符串来自用户,您无法控制字符串包含的内容。可能有更好的方法来实现您真正想要的。
如果您真的、绝对、不可避免地必须这样做,您可以使用eval:
x = eval('dataframe["Column_name"].sum()')
但是,例如,仅从用户那里获取列名并在函数调用中使用它可能更容易:
column_name = "Column_name" # or read it from the file
x = dataframe[column_name].sum()
【讨论】:
#previous code
with open("file.txt","r") as f:
x = eval(f.readline())
#the rest of the code, using x however you want
如果其他用户应该能够随心所欲地使用脚本,我不会这样做。如果这是出于学习目的供您自己使用,则由您决定。
【讨论】: