0

有什么方法可以使用 Sphinx 来记录 python 脚本的命令行输入?我能够记录函数或方法的输入,但我不知道如何记录脚本的输入。我一直在尝试遵循与函数相同的语法,方法是在源文件中添加.. automodule:: scriptLDOnServerscriptLDOnServer 是我的 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 正在尝试获取命令行输入,但在我的源文件中没有输入,因此导入失败。有没有办法解决这个问题?我应该在源代码中使用另一个命令而不是模块吗?

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

4

1 回答 1

1

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

这普遍成立。你不应该*编写无法导入或有任何被导入副作用的代码。

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

于 2012-05-08T08:57:24.880 回答