pycharm命令终端运行python文件以及传递参数方式
作者:李飞飞,
pycharm命令终端运行python文件以及传递参数
要在PyCharm的命令终端中运行Python文件并添加或修改参数
可以按照以下步骤操作
打开PyCharm并加载你的项目。
确保你已经创建了一个Python文件,其中包含你想要运行的代码。
在PyCharm窗口的底部找到"Terminal"选项卡,点击它以打开命令终端。
在命令终端中,使用cd命令切换到你的Python文件所在的目录。
例如,如果你的文件位于项目的根目录下,可以输入以下命令:
cd path/to/your/project
一旦你进入了正确的目录,你可以使用以下命令来运行Python文件:
python your_file.py
其中your_file.py是你要运行的Python文件的文件名。
解释一下:
python run_tu.py --model NestedGCN --h 3 --layers 4 --node_label spd --use_rd --data MUTAG
这是一个命令行中运行Python脚本时传递的参数的示例。
让我解释一下这个命令的含义
python
: 这是运行Python解释器的命令。run_tu.py
: 这是要运行的Python脚本的文件名。--model NestedGCN
: 这是一个参数,表示选择的模型是NestedGCN。--h 3
: 这是一个参数,表示设置参数h的值为3。--layers 4
: 这是一个参数,表示设置参数layers的值为4。--node_label spd
: 这是一个参数,表示设置参数node_label的值为spd。--use_rd
: 这是一个开关参数,表示使用rd。--data MUTAG
: 这是一个参数,表示设置参数data的值为MUTAG。
当你在命令行中执行这个命令时,Python解释器会执行run_tu.py文件,并将后续的参数传递给脚本。
在脚本中,你可以使用argparse或其他方式来解析这些参数,并根据参数的值执行相应的操作。
import argparse parser = argparse.ArgumentParser() parser.add_argument('--model', type=str, help='Model name') parser.add_argument('--h', type=int, help='Value for h') parser.add_argument('--layers', type=int, help='Value for layers') parser.add_argument('--node_label', type=str, help='Value for node_label') parser.add_argument('--use_rd', action='store_true', help='Use rd') parser.add_argument('--data', type=str, help='Value for data') args = parser.parse_args() # 现在你可以使用 args.model、args.h、args.layers 等变量来获取相应的参数值 # 并根据这些参数执行相应的操作
希望这能帮助你理解这个命令的含义和如何解析参数。
Pycharm下运行调试Python项目
当调试既需要给调试的程序传入命令行参数又需要程序在设置的断点处停下里查看变量时的解决
在调试了一个复杂的Python项目,其中这个项目的调试需要事先从命令行读取参数,并且在调试期间需要再事先设置的断点处停下来。检查相关的变量。
问题是,在Pycharm的Terminal 输入文件名+参数后,程序就处于运行状态,除非程序出错,否则程序会一直运行完毕。而我是想要的是在断点处停下来,查看这个变量。
所以就一直在网上查看相关的解决方法,好像都没有我这种需求的
尝试的解决方案一:(失败)
Alt+Shift+F10 来配置这个程序,输入程序的命令行参数。
图的示例如下:
然后点击右下方的”Run”按钮就好了,注意这里是”Run”,不是Debug,所以程序就直接运行啦。就不存在在断点处停下来的意思了。所以这个尝试就失败了。
尝试的解决方案二:(成功)
最后想了想问题的关键是我从命令行读取这个参数干什么,如果这个参数可以直接在程序里面写死,而不用命令行获取的话,那么不就可以正常的Debug了吗。嗯嗯,事实就是这样。
我做的就是查看命令行获取的参数被传到了那个地方,然后直接在那个代码处将这个变量替换为开始要在命令行输入的参数。然后在要调试的地方设置断点,然后点击页面的右上方的甲壳虫(Debug)按钮。然后程序就开始调试了。哇塞! 浑身舒爽!
心得:
生活中真的要有很多问题需要解决,但是细细想想问题的根源。对症下药就好了,这里最重要的就是要寻找问题的根源了!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。