Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与文件输入有关的问题_Python_Python 2.7 - Fatal编程技术网

Python 与文件输入有关的问题

Python 与文件输入有关的问题,python,python-2.7,Python,Python 2.7,我遇到了一个问题,我想听听你们的意见 我正在使用py2neo编写一个Neo4J应用程序。我想读取一个文件并使用该文件创建节点和关系 我遇到的问题是,使用下面代码输入的文件将行作为字符串返回 file = "../create_db" dbFile=open(file,'r') 我需要的是,不是把它作为一根线拿回来,而是把它生下来。 目前的问题是我想要: graph_db.create(node({'Id':'1', 'Description':'Computer'})) 但我得到: grap

我遇到了一个问题,我想听听你们的意见

我正在使用py2neo编写一个Neo4J应用程序。我想读取一个文件并使用该文件创建节点和关系

我遇到的问题是,使用下面代码输入的文件将行作为字符串返回

file = "../create_db"
dbFile=open(file,'r')
我需要的是,不是把它作为一根线拿回来,而是把它生下来。 目前的问题是我想要:

graph_db.create(node({'Id':'1', 'Description':'Computer'}))
但我得到:

graph_db.create("node({'Id':'1', 'Description':'Computer'})")
有没有办法让文件输入原始?也许有个图书馆能把它原封不动地还给你

提前感谢,,
Jiar

您的输入文件似乎包含代码语句或部分代码语句

您可以使用eval内置函数执行语句,并将结果传递给graph_db.create函数

但是,您应该注意,这允许执行任意代码,即输入文件成为执行脚本的一部分,并且应被视为代码的一部分,即不要使用不受信任的输入文件。

您也可以检查模块。虽然我不知道这是否适用于你的情况,但我的情况是:

ast.literal\u evalnode\u或字符串

安全地计算表达式节点或Unicode或Latin-1编码字符串 包含Python表达式的。 提供的字符串或节点只能由以下Python文本结构组成:字符串, 数字、元组、列表、dicts、boolean和None

这可以用于安全地计算包含Python表达式的字符串 来自不受信任的来源,无需自己解析值

所以,如果你对文件有一些控制权,只使用dict部分


可以使用eval。也请检查此项。

您的意思是该文件包含代码语句还是部分语句?也许可以看看eval函数……非常感谢,它起作用了。添加一个答案,这样我就可以给你一些学分了。