字符串到 Python 语句?

Posted

技术标签:

【中文标题】字符串到 Python 语句?【英文标题】:String to Python statement? 【发布时间】:2018-08-08 02:56:43 【问题描述】:

我想将字符串转换为 Python 语句。

    从文本文件中获取字符串输入,例如'dataframe['Column_name'].sum()'

    将字符串作为 Python 语句执行,例如dataframe['Column_name'].sum()

    将结果存储在某个变量中

【问题讨论】:

您真正想要实现什么?这些字符串是从哪里来的?你真的需要存储整个语句吗? 【参考方案1】:

可以这样做,但不推荐。如果字符串来自用户,您无法控制字符串包含的内容。可能有更好的方法来实现您真正想要的。

如果您真的、绝对、不可避免地必须这样做,您可以使用eval

x = eval('dataframe["Column_name"].sum()')

但是,例如,仅从用户那里获取列名并在函数调用中使用它可能更容易:

column_name = "Column_name"  # or read it from the file
x = dataframe[column_name].sum()

【讨论】:

【参考方案2】:
#previous code
with open("file.txt","r") as f:
    x = eval(f.readline())
    #the rest of the code, using x however you want

如果其他用户应该能够随心所欲地使用脚本,我不会这样做。如果这是出于学习目的供您自己使用,则由您决定。

【讨论】:

以上是关于字符串到 Python 语句?的主要内容,如果未能解决你的问题,请参考以下文章

《Python编程从入门到实践》_第五章_if语句

将大型 python 列表传递到 SQLite SELECT 语句时如何提高性能?

Python2.7从入门到精通

python语言如何结尾?

python的for循环语句怎么写

python中执行字符串形式的语句和字符串形式的表达式方法(即exec和eval方法)