![](/img/trans.png)
[英]My Python script using Paramiko runs perfectly in the IDE (PyCharm) and command line but doesn't run on AWS Lambda
[英]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.