有什么方法可以使用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正在尝试获取命令行输入,但在我的源文件中没有输入,因此导入失败。有办法解决这个问题吗?我应该在源代码中使用另一个命令来代替模块吗?
很抱歉不太清楚,但很难解释这个问题。
答案 0 :(得分:1)
导入文件时失败,因为您尝试在导入时访问sys.argv[7]
。这不是你应该做的事情。这些可能失败的代码应该在if __name__ == '__main__':
块或函数中,以便在导入代码时不会执行。
这一般来说。你永远不应该*编写无法导入的代码或者导入任何副作用的代码。
*条件适用。但在破坏这条规则之前,你最好有充分的理由。