繁体   English   中英

使用命令行输入修改在终端上运行的 python 脚本以在 IDE 中工作

[英]Modify a python script that runs on terminal with command line input to work in an IDE

我正在玩我下载的类似 python 软件的代码。 我需要提取代码的某些部分,所以我目前正在跟踪它以更好地理解它。 在 IDE 中跟踪代码(我使用 spyder)会让我的生活变得更加轻松,这样我就可以放置断点并直观地检查变量。 因此,我想修改代码,但我不知道如何进行。

这是代码的目录结构。 主目录是“advance”,其 2 个子目录是“advance”和“examples”。 代码是使用 pip 安装的,要运行代码,必须进入 examples 目录,进入一个代表测试用例的子目录,然后简单地输入“advance”。 在终端中(“.”代表密码)。

经过一些跟踪,我发现这样做会调用文件 driver.py,地址为 Advance/advance/driver.py。 driver.py 代码的结构如下:

# import stuff here

def main():
    
    parser = argparse.ArgumentParser(description="Read working directory")
    
    # some stuff here


if __name__ == "__main__":
    try:
        main()
    except:
        print(traceback.format_exc())
        print("Execution failed")

如您所见,main 函数接受一个输入,即工作目录。

我现在的问题是:如何修改它以便我可以在我的 IDE 中运行此代码? 或者更好的是,我可以编写一个脚本来调用 driver.py 中的 main 函数,并为其提供我想要运行的示例测试用例的目录路径吗? 如果是这样,我该怎么做?

如果听起来太简单,谢谢并道歉。 我来自 Matlab 并过渡到 python。

我在这篇 reddit 帖子中发现 spyder 提供在运行脚本时传递命令行选项。 请参阅以下设置:

Run -> Configure -> Command line options

不幸的是,我对 Spyder 并不熟悉,所以到目前为止我只能说这么多。 我想它的工作原理类似于 PyCharm(我使用的)。 它是这样的:您可以调整运行配置,并可以设置要传递脚本的参数。 之后,在运行该运行配置时,PyCharm 将始终将这些特定参数传递给脚本。 这允许使用 IDE 的调试器来检查代码。 我敢打赌,Spyder 的行为方式几乎相同。 祝您尝试建议的设置好运:)

暂无
暂无

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

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