如何读取python中的下一个逻辑行

2024-05-15 07:46:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把文件中的下一行logical读入python,其中logical的意思是“根据python的语法”。在

我写了一个小命令,从一个文件中读取一组语句,然后打印出在pythonshell中键入这些语句所得到的结果,并提供提示和返回值。很简单——读每一行,然后评估。在你碰到一个多行字符串之前,这一切都很好。在

我尽量避免自己做词法分析。在

举个简单的例子,假设我有一个包含

2 + 2

我想打印

^{pr2}$

如果我有档案

"""Hello
World"""

我想打印

>>>> """Hello
...World"""
'Hello\nWorld'

第一个是琐碎的——读一行,评估,打印。但我需要特别支持评论行。现在是三重引号。等等。在


Tags: 文件字符串命令helloworld键入语法档案
2条回答

您可能需要查看代码模块中的^{} class。在

runsource()方法演示了如何处理不完整的输入。在

好吧,所以瑞斯的想法是正确的。这是我的一些琐碎的代码。在

#!/usr/bin/python

import sys
import code

class Shell(code.InteractiveConsole):
    def write(data):
        print(data)

cons = Shell()

file_contents = sys.stdin

prompt = ">>> " 

for line in file_contents:
    print prompt + line,
    if cons.push(line.strip()):
        prompt = "... "
    else:
        prompt = ">>> "

相关问题 更多 >