我在交互模式下用os.path.sep
检查帮助实用程序,然后得到:
In [59]: help(os.path.sep)
Related help topics: lambda, or, and, not, in, is, BOOLEAN, COMPARISON,BITWISE, SHIFTING, BINARY, FORMATTING, POWER, UNARY, ATTRIBUTES,SUBSCRIPTS, SLICINGS, CALLS, TUPLES, LISTS, DICTIONARIES
运算符优先级
下表总结了 Python 中的运算符优先级,来自 从最低优先级(约束力最小(到最高优先级(最 绑定(。 同一框中的运算符具有相同的优先级。 除非 语法是显式给出的,运算符是二进制的。 运算符 从左到右的同一框组(除了幂,它 组从右到左(。
但是,当我尝试使用 pydoc 检索它时
In [61]: with open("osPathSep_help.md", "w") as fout:
...: pydoc.doc(os.path.sep, output=fout)
...:
No Python documentation found for '/'.
Use help() to get the interactive help utility.
Use help(str) for help on the str class.
In [62]: os.stat("osPathSep_help.md").st_size
Out[62]: 0
如何获得与报价相同的内容?
下表总结了 Python 中的运算符优先级,来自 从最低优先级(约束力最小(到最高优先级(最
要理解这种行为,你必须进入os.path
库源代码。如果你进入代码,那么你会找到所有这些变量
curdir = '.'
pardir = '..'
extsep = '.'
sep = '\'
pathsep = ';'
altsep = '/'
defpath = '.;C:\bin'
devnull = 'nul'
现在您要做的是将os.path.sep
作为函数进行访问,但如您所见,它不是一个函数,而是一个值分配为"\">的变量
所以os.path.sep总是,这就是为什么当你做
help(os.path.sep)
时你会得到的结果
运算符优先级
下表总结了 Python 中的运算符优先级,来自 从最低优先级(约束力最小(到最高优先级(最 绑定(。同一框中的运算符具有相同的优先级。除非 语法是显式给出的,运算符是二进制的。运算符在 从左到右的同一框组(除了幂,哪些组 从右到左(。
这将与您在这样做时得到的结果相同
help('\')
现在您的下一个问题是它如何与help
一起工作?
因此,如果您检查帮助的源代码,则会提到
"""
Define the built-in 'help'.
This is a wrapper around pydoc.help (with a twist).
"""
所以帮助是在内部使用pydoc.help
所以如果你正在使用
pydoc.help('\')
或pydoc.help(os.path.sep)
你会得到你想要的输出。