使用Sphinx使用命令行参数记录脚本时出现异常

时间:2012-05-08 08:12:44

标签: python python-sphinx

有什么方法可以使用Sphinx来记录python脚本的命令行输入?我能够记录函数或方法的输入,但我不知道如何记录脚本的输入。我一直在尝试遵循我用于函数的相同语法,方法是在源文件中添加行.. automodule:: scriptLDOnServer,其中scriptLDOnServer是我的python脚本(对应于我的主要脚本)。

问题是我收到这样的错误:

__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正在尝试获取命令行输入,但在我的源文件中没有输入,因此导入失败。有办法解决这个问题吗?我应该在源代码中使用另一个命令来代替模块吗?

很抱歉不太清楚,但很难解释这个问题。

1 个答案:

答案 0 :(得分:1)

导入文件时失败,因为您尝试在导入时访问sys.argv[7] 。这不是你应该做的事情。这些可能失败的代码应该在if __name__ == '__main__':块或函数中,以便在导入代码时不会执行。

这一般来说。你永远不应该*编写无法导入的代码或者导入任何副作用的代码。

*条件适用。但在破坏这条规则之前,你最好有充分的理由。