Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 Eclipse/PyDev将粘贴到其控制台中的新行视为指令,但我希望它将它们作为长字符串的一部分进行解析_Python_Eclipse_Pydev - Fatal编程技术网

Python Eclipse/PyDev将粘贴到其控制台中的新行视为指令,但我希望它将它们作为长字符串的一部分进行解析

Python Eclipse/PyDev将粘贴到其控制台中的新行视为指令,但我希望它将它们作为长字符串的一部分进行解析,python,eclipse,pydev,Python,Eclipse,Pydev,我正在编写一个Python脚本,以自动执行一些需要执行的重复文本处理任务。我使用PyDev作为Eclipse的插件作为IDE 我需要脚本来接受从剪贴板粘贴的用户输入。输入通常是多行的,包含许多换行符 我目前的脚本要求输入如下: oldTableString = raw_input('Paste text of old table here:\n') 控制台正确显示提示并等待用户输入。但是,一旦我将文本粘贴到控制台中,它似乎会将粘贴文本中的任何换行符解释为按enter按钮,并执行代码,就好像它接

我正在编写一个Python脚本,以自动执行一些需要执行的重复文本处理任务。我使用PyDev作为Eclipse的插件作为IDE

我需要脚本来接受从剪贴板粘贴的用户输入。输入通常是多行的,包含许多换行符

我目前的脚本要求输入如下:

oldTableString = raw_input('Paste text of old table here:\n')
控制台正确显示提示并等待用户输入。但是,一旦我将文本粘贴到控制台中,它似乎会将粘贴文本中的任何换行符解释为按enter按钮,并执行代码,就好像它接收到的唯一输入是粘贴文本的第一行(在第一个换行符之前),然后按enter键一样(它将其解释为一种暗示,表明我已经完成了对它的输入)

我已经确认它只通过以下行读取输入的第一行:

print oldTableString
…正如预期的那样,它只打印出我粘贴到控制台中的任何内容的第一行


如何让Eclipse认识到我希望它将粘贴到控制台中的所有内容(包括换行符)解析为单个字符串


谢谢!

直接从剪贴板读取或在每一行上循环,直到收到终止符号或超时。另外,在Eclipse下工作是否重要?直接执行时是否工作?

text=“”
tmp=原始输入(“输入文本:\n”)
而tmp!=“”:
text+=tmp+“\n”
tmp=原始输入()
打印文本

这可以工作,但您必须再次按enter键。

这似乎不起作用…它不需要额外按enter键,它只打印我粘贴到控制台中的任何内容的第一行,就像我的代码一样。您的输入是否包含空行?如果是,您可以用类似“退出”的内容替换“”吗然后在粘贴文本后键入QUIT。这确实是问题所在;我的输入文本中有一些空行。使用特定的转义序列(如QUIT)可以工作。我仍然更希望找到一种不需要额外键入“好的,我现在完成了”的解决方案关键字,尤其是因为我相信我必须担心我的输入是否包含此设置中的关键字。真的没有办法告诉Eclipse不要将每个换行符都视为“go”符号?您可以使用命令行参数传递包含“”的输入,但这也不理想,因为您的输入不能包含“字符。更复杂的方法是使用curses,甚至一些gui工具包。好吧,对于shell中的多行输入,您担心的不仅仅是PyDev,还有常规shell(我相信您也会遇到同样的问题吧?),因此,除非您想使用curses(PyDev BTW不支持),否则我看不到太多出路。”或gui工具包(或使用转义序列,或从剪贴板或文件中读取…)。