繁体   English   中英

shell 脚本,它使用 python 脚本的参数打开 python

[英]shell script which opens python with arguments to python script

我想在 PyCharm 中调试一些 Python 代码,但我从中获取代码的存储库使用了表单的 shell 脚本

python main.py arg1 ... argN

这是从命令行运行的。 main.py 模块有一个if __name__ == '__main__':部分,它使用 argparse 来解析通过脚本传递的参数。

我怎么能写一个Python脚本也调用main.py的不接触main.py?

您不需要为此编写脚本。 您可以在 Pycharm 中编辑运行配置以模拟传递给脚本的命令行参数。

按着这些次序:

  1. 打开Edit Configurations...

    Pycharm 窗口的图像,突出显示单击右上角运行符号旁边的下拉菜单后显示的选项“编辑配置”

  2. 确保编辑main.py的配置:

    显示“编辑配置”窗口的图像,在左窗格中突出显示当前文件的名称

  3. 然后,只需在parameters字段下添加命令行参数,就像在命令行中一样:

    显示“编辑配置”窗口的图像,突出显示“参数”输入字段

  4. 确定

  5. 使用绿色箭头定期运行(或右键单击并运行)


如果您确实拥有该 shell 脚本,则可以通过添加新配置直接运行它。 Configurations窗口中,按左上角的+并选择Shell Script 指明要传递和运行的路径和任何选项。

例如:定义 new def main(): function 并移动所有if __name__ == '__main__':东西,然后将main.py重写为:

def main():
    <original "if __name__ == '__main__'" stuff>

if __name__ == '__main__':
    main()

,然后从外部 python 脚本调用 main() 函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM