如何将命令行参数输入 Python Anywhere 的调度程序?

Posted

技术标签:

【中文标题】如何将命令行参数输入 Python Anywhere 的调度程序?【英文标题】:How can I get command line parameters into Python Anywhere's scheduler? 【发布时间】:2012-06-16 18:57:18 【问题描述】:

我有一个 Python3 脚本,它可以接受脚本通过sys.argv 读取的可选命令行参数。如果我从终端窗口运行它,我的脚本工作正常,但是每当我将它添加到带有参数的 PA 计划选项卡时,我都会在日志中得到一个 bash 126 退出代码。根据 bash 附录,此退出代码表示 Permission problem or command is not an executable。因此,从终端窗口运行的脚本似乎不会在与从计划运行的脚本相同的上下文中运行,因为我的脚本从 bash 终端运行良好。

我需要想办法让脚本通过调度选项卡使用可选的命令行参数运行。

我想我可以编写另一个脚本来调用带有可选参数的第一个脚本,但是在我看来应该有另一种方法来解决这个问题,您可以直接将您希望运行脚本的参数放在您给调度选项卡运行的行。否则,我将不得不为要调用的每组单独的参数编写一个脚本,而不仅仅是一个条目来安排脚本运行。

【问题讨论】:

您是否将脚本设置为可执行文件?例如,如果您使用 python somescript.py 运行它,您可能不会注意到这一点。 @Lattyware 现在我觉得自己很愚蠢。调度程序需要与从终端运行不同的权限。我想这表明我在 Windows 上花费了太多时间!谢谢你的帮助! 不用担心。我建议您将其发布为您的答案并接受它,以防将来有人做同样的事情并寻求您的帮助。 @Lattyware 再次感谢您。我已按照您的建议添加了解决方案。度过美好的一天(或您所在时区的夜晚)! 【参考方案1】:

感谢@Lattyware 提供此解决方案。如果您遇到此问题,您可以通过转到终端并在脚本上添加执行位来解决它。您可以使用 chmod 完成添加执行权限,例如:

chmod 700 foo.py

您可能还想在进行任何更改之前验证您的文件权限,以确保您不会添加或删除您不打算添加或删除的内容。

如果需要,您可以read up on chmod here。

【讨论】:

@DennisWilliamson 我肯定会的。 SO说我必须等2天才能做到。我会尽快返回并标记它。

以上是关于如何将命令行参数输入 Python Anywhere 的调度程序?的主要内容,如果未能解决你的问题,请参考以下文章

Python 将多个字符串传递给单个命令行参数

如何根据命令行输入包含py文件?

如何访问命令行参数?

如何在 Python3 中添加带有标志的命令行参数?

在 Eclipse(Pydev) 中将命令行参数传递给 Python 脚本

如何编写一个带命令行参数的Python文件