【问题标题】:Manually running python3 script and commands from shell console从 shell 控制台手动运行 python3 脚本和命令
【发布时间】:2018-09-12 17:09:29
【问题描述】:

https://github.com/dtcarls/ff_bot https://github.com/dtcarls/ff_bot/blob/master/ff_bot/ff_bot.py

我正在尝试找出一种方法来手动让这个 python 脚本运行某些功能,比如来自终端的 get_trophies。目前该脚本计划每周在特定时间发送某些消息,但我真的希望能够通过 shell 手动重新发送消息。

类似“python3 ff_bot.py get_trophies”的东西,让机器人再次发送该消息。

不确定这是否可行,而且我的编程知识非常有限。根据 GitHub 上的自述文件,该应用程序已自动部署到 heroku

【问题讨论】:

  • 你最好制作一个独立的python文件来导入你需要的任何东西。然后只需在 CLI 中调用该文件。
  • 是的,我认为我的部分问题是如何从该 github 使用 heroku 进行部署。尝试使用“heroku run python3 get_trophies”。
  • 这是您绝对应该在问题中包含的上下文。

标签: python python-3.x shell command-line


【解决方案1】:
python -3 <script name> *args **kwargs 

这有什么问题吗?

如果它是模块的一部分

python -3 -m module.script_name *args **kwargs

或者你可以这样做:

from ff_bot import get_trophies

如果您将其放入您自己的 .py 文件中,您将能够单独使用该功能(前提是您也不需要导入其他东西!)

HTH!

【讨论】:

  • 我正试图弄清楚这一点。我想我可能会受到部署到heroku并使用'heroku run python3 ff_bot/ff_bot.py'.....控制台选项的限制。我试图弄清楚是否有办法将我自己的文件添加到已部署的应用程序中。
  • 是 Discord 机器人还是什么?
  • 这是一个用于 ESPN 梦幻足球联赛更新的聊天机器人,适用于 GroupMe、slack 或 discord。
  • 对不起伙计,我从来没有在 Heroku 上部署过任何东西。如果你可以上传文件,第三个建议可能是合适的。
【解决方案2】:

如果你在 Linux 上,你可以使用命令行来运行你所描述的 python 脚本,如果你在 Windows 上,并且 Python 在你的路径中,你可以双击脚本来运行它。除此之外,您只需在脚本名称后添加命令行参数:python script.py arg1 arg2

【讨论】: