我想使用外部工具通过键盘快捷键自动执行当前正在编写的脚本。我唯一能找到的是这里。但我认为它一定是过时了,因为它产生了一个语法错误,我找不到任何有用的信息。我知道 python3 需要在 后面加括号print
,所以我尝试了带和不带,但产生了相同的错误。奇怪的是,print commands.getoutput(line))
识别缺少的左括号会产生语法错误。
另外,我改变了工具顶部的“注释”(我猜),认为python3
解释器会更加优雅地处理任何括号不当行为,但这是行不通的,因为commands
它现在显然已经失效了。
显然,我希望代码能够完成我想要的工作,但最好能给出能说明错误的答案。我想知道实际发生了什么。
编辑 证明我的语法是准确的
编辑 我意识到这个问题可能与我的代码有关,因为之前我使用的是多页长度的脚本,所以我打开了一个新文档并尝试了以下简单语句。结果很有趣,但没有告诉我什么。
输入
True == True
输出
Running tool: run source
sh: 1: True: not found
Done.
嗯,好的。
输入
True==True
输出
Running tool: run source
Done.
哦!也许它进行了计算,但没有打印出来!
输入
print(True==True)
输出
Running tool: run source
sh: 1: Syntax error: word unexpected (expecting ")")
Done.
...我想又回到原点了。
输入
print True==True
输出
Running tool: run source
sh: 2: Syntax error: ";" unexpected
Done.
什么他妈的分号?!
编辑所以我以为我已经解决了下面的问题。但事实并非如此……我刚刚意识到这并没有回答问题!我问是否可以将选定的代码发送到 gedit TERMINAL 进行执行。我的想法是设置一个类似 IDLE 的设置,我可以使用文档中的类、函数和变量来武装终端,然后实时与其交互。外部工具使用“输出面板”,该面板放在嵌入式 python 终端旁边的选项卡中。它在后台执行代码,然后同时显示完整的输出。它不能用于获取用户输入。
答案1
我不知道为什么会出现这样的错误,但幸运的是,我确实编写了一个可以运行的代码......
具体如下:
插入
#!/usr/bin/env python3
import sys
exec(sys.stdin.read())
-快捷键:Alt+R --- 或任何您喜欢的键
-保存:无
-输入:当前选择(默认为文档)
-输出:显示在底部窗格中
-适用性:|所有文档|Python 3
输入
print(True == True)
输出
Running tool: run source
True
Done.
编辑我刚刚意识到这并没有回答问题!我问是否可以将选定的代码发送到 gedit TERMINAL 进行执行。我的想法是设置一个类似 IDLE 的终端,我可以用文档中的类、函数和变量来武装终端,然后实时与其交互。外部工具使用“输出面板”,该面板放在嵌入式 python 终端旁边的选项卡中。它在后台执行代码,然后同时显示完整的输出。它不能用于获取用户输入。