有什么方法可以使用 Sphinx 来记录 python 脚本的命令行输入吗?我能够记录函数或方法的输入,但我不知道如何记录脚本的输入。我一直试图遵循与函数相同的语法,在源文件中添加行 .. automodule::scriptLDOnServer
其中 scriptLDOnServer 是我的 python 脚本(对应于我的 main)。
问题是我收到这样的错误:
__import__(self.modname)
File "/home/ubuntu/SVNBioinfo/trunk/Code/LD/scriptLDOnServer.py", line 10, in <module>
genotype_filename=sys.argv[7];
IndexError: list index out of range
Sphinx 似乎正在尝试获取命令行输入,但在我的源文件中没有输入,因此导入失败。有办法解决这个问题吗?我应该在脚本源中使用另一个命令而不是模块吗?
抱歉,不太清楚,但很难解释这个问题。
最佳答案
导入文件时失败,因为您尝试在导入时访问 sys.argv[7]
。这不是你应该做的事情。此类可能失败的代码应该位于 if __name__ == '__main__':
block 或函数中,以便在导入代码时不会执行它。
这通常成立。您永远不应该*编写无法导入或具有导入任何副作用的代码。
* 有条件。但在违反这条规则之前,你最好有充分的理由。
关于python - 使用 Sphinx 通过命令行参数记录脚本时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10494958/