Ideone支持Python命令行参数吗?

5 投票
4 回答
552 浏览
提问于 2025-04-17 12:42

我正在尝试远程指导办公室里的几个人学习Python,最简单的方法似乎是给他们展示一些简单的Python示例...

http://wiki.python.org/moin/SimplePrograms

... 在像ideone.com这样的沙盒环境中运行。

一切都很顺利,直到第八个示例(“命令行参数,异常处理”)。

我发现没有办法给ideone的解释器发送参数,当我试图通过标准输入(stdin)传值时,它们似乎被忽略了。有没有人知道该怎么做?ideone的常见问题解答里没有提到关于参数的内容。

如果不行,有没有其他的在线Python解释器可以接受标准输入参数,可能可以解决这个问题?

提前谢谢大家。你们真棒。

4 个回答

1

你可以在Ideone的Bash模式下运行Python,并且可以传递参数。因为它不允许你保存文件,所以你可以使用Bash的heredoc功能来提供Python脚本:

示例

python - 1 2 3 <<EOF

import sys
print 'Args: ', sys.argv[1:]

EOF

输出:

Args:  ['1', '2', '3']

这里的-参数告诉Python从标准输入读取脚本。所有在<<EOFEOF之间的内容都会作为标准输入提供给Python。需要注意的是,这意味着你不能在脚本中使用raw_input和类似的函数来读取标准输入。

2

如果你想使用ideone,你可以通过扩展 sys.argv 变量来模拟参数。以你的例子为例:

sys.argv.extend(['3', '4', '5'])

这段代码要放在 import sys 之后。

这是ideone的链接: http://ideone.com/8pH8A

3

还有一个选择是 PythonAnywhere。这里有一个 即时演示,你可以登录后获得存放脚本的空间,还有各种命令行工具可以使用。

登录后,你可以启动一个bash命令行,然后可以通过命令行运行Python脚本,并且可以添加你想要的任何参数。

撰写回答