如何在Python控制台中运行带有选项的.py文件?

如何在Python控制台中运行带有选项的.py文件?,python,pycharm,Python,Pycharm,我试图在python中运行,但我只能使用Pycharm IDE的终端来运行它 根据GitHub存储库中的指南,我从$python train.py RGCN PPI的开头删除了$符号,并可以在那里运行它。$在这里意味着什么?我如何在Python控制台中运行这样的文件(例如在>符号之后)?这个“$”不是Python语法的一部分,它是代表命令提示符的文档中的一个可视提示 为了回答本文标题中的问题,我将提供一些 首先介绍如何将脚本加载到Python控制台。 但是,对于您的具体情况,您不需要这个。向下滚

我试图在python中运行,但我只能使用Pycharm IDE的终端来运行它


根据GitHub存储库中的指南,我从
$python train.py RGCN PPI
的开头删除了
$
符号,并可以在那里运行它。
$
在这里意味着什么?我如何在Python控制台中运行这样的文件(例如在
>
符号之后)?

这个“$”不是Python语法的一部分,它是代表命令提示符的文档中的一个可视提示

为了回答本文标题中的问题,我将提供一些 首先介绍如何将脚本加载到Python控制台。 但是,对于您的具体情况,您不需要这个。向下滚动至 关于PyCharm中调试的部分

有两种方法可以让脚本进入控制台。一种是使用我在下面给出的两行代码的正确版本加载它,或者您可以将它作为一个模块加载—即使它不是一个模块

通常,要在Python2上的Python shell中执行脚本,可以执行以下操作

>>> execfile(r"<path to script here>")
如果对其进行修改并希望重新加载:

>>> import importlib
>>> importlib.reload(mymodule)
将脚本作为模块加载可以避免污染控制台的全局范围。加载后,只需在脚本函数和变量的名称前面加上模块名。模块名称将是不带扩展名
.py
的文件名

如果脚本需要命令行选项,则可以将这些选项的值硬编码到脚本中,并禁用尝试从CLI获取值的代码行。如果它变得复杂,请考虑在IDE中运行它,如下一节所述。

因此,上面介绍了如何在所需的任何python REPL控制台中运行python脚本

但是,将脚本加载到Python控制台可能根本不方便 为您的目的所需。您想调试一些脚本(train.py, test.py)从该项目: ).

使用PyCharm调试命令行脚本 在许多情况下,编写Python脚本以从OS shell运行,并从用户获取命令行选项。这些类型的脚本可以加载到Python控制台中,但大多数都需要一些小技巧才能运行。但是,如果您只想调试这样一个脚本,那么就不需要修改控制台

PyCharm支持像其他脚本一样按原样运行这些脚本(Eclipse和其他IDE也是如此)。这只是为项目创建运行/调试配置的问题。我刚刚安装了PyCharm并尝试了一下,以便记录细节。简单的任务

只需在PyCharm中打开项目,在编辑器窗格上方的工具栏上,有一个用于编辑配置的菜单选项。单击该按钮打开运行/调试配置对话框,然后单击
+
添加配置。将出现一个带有预定义模板的小对话框-选择
Python
作为模板并接受

然后在主对话框中,填写脚本路径:使用train.py(或其他脚本)的路径,然后单击输出控制台中的复选框[x]仿真终端此外,您还可以在Parameters:text框中添加命令行选项(我输入了文本:
mymodel mytask
,只是为了满足脚本对两个参数的需要)。单击底部的“确定”接受配置并关闭对话框

现在,您应该在工具栏上看到一个绿色的bug图标。在脚本的
\uuuu main\uuuu
块中设置一个断点,然后单击调试图标开始调试脚本。那就够了

使用PDB调试Python命令行脚本 PDB—Python调试器可以在没有IDE的情况下运行。这是调试任何类型脚本的另一种方法。如果需要命令行参数,请在启动调试器时从OS shell提供这些参数:

$ pdb myscript.py mymodel mytask
这就是启动调试会话的全部内容。PDB需要了解一些基于文本的命令。启动会话后,您可以通过输入
l
获得当前执行行附近的代码列表。输入
help
查看命令列表


要单步执行一行,请输入“s”作为步骤,或输入“step”。要设置断点,请输入
break
,或在表达式上设置断点。有关可用命令的参考可在此处找到:。网上也有很多版本的pdb备忘单,只需谷歌“pdb备忘单”并选择一个即可。

您使用的是Python 2还是Python 3?美元符号只是表示终端命令行。您正确地推测您想要运行它右边的内容。@Todd我使用的是Python 3请给出下面的第二个示例,试试看是否适合您@Ali@Ali在试用了PyCharm之后,我更新了这个答案。忘记PyDev调试器吧——您只需要PyCharm和执行一些配置步骤。有关详细信息,请参阅答案。@Todd谢谢您的时间,但我无法用这种方式运行它。请注意,在“python train.py RGCN PPI”中,train.py后面有MODEL_NAME(此处为RGCN)和TASK_NAME(此处为PPI),它们是运行此代码所必需的@Ali哦,标题中的问题是如何在控制台中运行python文件。@Ali好的。我用一些说明更新了这个答案,以便在您确实需要从Python控制台运行时开始。@Todd很抱歉造成混淆。在这种情况下,execfile(“…/file.py”)将完成此工作。我编辑了标题并添加了选项。@Ali不用担心。希望我提供的额外信息能让你了解运行该程序所涉及的内容。如果你想了解更多信息,只需在评论中添加@me即可。
>>> import importlib
>>> importlib.reload(mymodule)
$ pdb myscript.py mymodel mytask