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

标签 python python-sphinx

有什么方法可以使用 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/

相关文章:

python - 如何自定义 sphinx.ext.autosummary 第一个模板?

python - 如何在Python中运行时中断函数

python - 在 Python 中合并命名元组的简单方法是什么?

python - 如何让 Sphinx 自动摘要生成类的完整 API 文档,以及这些类的 *summary table*?

python - Sphinx 文档模块属性

python-sphinx - 在 Sphinx 中使用 iframe 嵌入外部 html 文件

python - 查找字符串中的子字符串

python - 如何在列表中的每个字符串的末尾添加一个字符?

Python:无法导入lxml.etree.xml文件

python - 自动摘要 “toctree contains reference to nonexisting document” 警告