如何在多部分命令行语句中以调试模式运行Pycharm

时间:2017-10-13 14:39:35

标签: python windows pycharm

标题可能令人困惑,所以如果你想到一个更好的,改变它或告诉我,我会改变它。

让我们说你有这个命令:

cat f1.txt f2.txt | python script.py cmd1 | ... | python script.py cmd2 | ...

如何启动Pycharm调试器并单步执行script.py的代码?

这是在Windows上。

1 个答案:

答案 0 :(得分:0)

PyCharm具有通过运行/调试配置运行任务的功能。我会尝试在这里模仿你的要求。根据您的需要进行调整。

  1. 选择Edit Configurations
  2. Edit Configuration in Run/Debug Menu

    1. 点击添加按钮 + 并选择Bash
    2. Run/Debug Dialog - Add configuration

      1. 输入您希望使用/bin/bash运行的bash脚本。如果它是单个命令,那么我的解决方法是将第一个参数放在脚本名称的位置,将第二个参数放在Program Argument空格处。
      2. Input for running cat as a bash config

        1. 切换到Python>左侧标签中的your_script,并在Before launch: Activate tool window中添加现在创建的任务。点击 + > Run Another Configuration,选择上一步中添加的bash配置。它看起来应该如下所示:
        2. Adding another configuration before python

          1. 点击确定并关闭Run/Debug Configuration窗口。
          2. 设置断点,选择要调试的配置,然后单击“调试”按钮。
          3. Debugging the script

            1. 重复步骤2到4多次以添加多个命令。
            2. 我还没有真正尝试过复杂的多命令操作。我通常将其分解并单独调试脚本。您可以考虑将输出保存到文件并使用它们。

              <强>警告:

              从你的示例命令看起来你正在将一个命令的输出传递到另一个命令,我还没想出一种方法将一个配置的输出转发到另一个配置。

              可能的解决方法:

              1. 如果它们都是Python脚本,那么您可以尝试使用Logs选项卡中的选项将每个输出保存到文件。
              2. Saving the output of python script using Logs options

                1. 可悲的是Bash Configuration没有保存输出功能。解决方法可能是编写一个bash文件,将输出保存到文件并在Bash Configuration中运行该bash脚本。
                2. bash script saving output

                  # contents of cat_files.sh
                  cat file1.txt file2.txt > outfile.txt
                  

                  现在在python脚本配置中,您可以传入outfile.txt作为参数并读取它以获取数据。