Python Windows 7-来自cmd的pydoc

Python Windows 7-来自cmd的pydoc,python,Python,好吧,我有一个时刻让我怀疑我使用电脑的能力。这不是我在第一篇SO帖子中想象中要问的那种问题,但接下来就是 从Zed的新“艰苦地学习Python”开始,因为在中断了10年之后,我一直想重新开始编程,Python一直是我想要的。这本书对我很有启发。话虽如此,我在指挥部与pydoc之间遇到了严重的问题。我的系统路径中有c:/python26中的所有目录,无论pwd如何,我都可以从命令行执行pydoc,但它不接受任何参数。不管我键入什么,我只会得到标准的pydoc输出,告诉我可以接受的参数 有什么想法吗

好吧,我有一个时刻让我怀疑我使用电脑的能力。这不是我在第一篇SO帖子中想象中要问的那种问题,但接下来就是

从Zed的新“艰苦地学习Python”开始,因为在中断了10年之后,我一直想重新开始编程,Python一直是我想要的。这本书对我很有启发。话虽如此,我在指挥部与pydoc之间遇到了严重的问题。我的系统路径中有c:/python26中的所有目录,无论pwd如何,我都可以从命令行执行pydoc,但它不接受任何参数。不管我键入什么,我只会得到标准的pydoc输出,告诉我可以接受的参数

有什么想法吗?无论如何,我按照Zed的建议安装了ActivePython

C:\Users\Chevee>pydoc file
pydoc - the Python documentation tool

pydoc.py <name> ...
    Show text documentation on something.  <name> may be the name of a
    Python keyword, topic, function, module, or package, or a dotted
    reference to a class or function within a module or module in a
    package.  If <name> contains a '\', it is used as the path to a
    Python source file to document. If name is 'keywords', 'topics',
    or 'modules', a listing of these things is displayed.

pydoc.py -k <keyword>
    Search for a keyword in the synopsis lines of all available modules.

pydoc.py -p <port>
    Start an HTTP server on the given port on the local machine.

pydoc.py -g
    Pop up a graphical interface for finding and serving documentation.

pydoc.py -w <name> ...
    Write out the HTML documentation for a module to a file in the current
    directory.  If <name> contains a '\', it is treated as a filename; if
    it names a directory, documentation is written for all the contents.


C:\Users\Chevee>

…很好用。只要在PowerShell中使用pydoc,一切都可以正常工作,我不必担心pwd、扩展或路径。

根据您的第二次编辑,您的路径中可能有多个pydoc.py副本,首先使用“错误”的文件,这样当它启动时就没有正确的执行环境。

当您在windows命令提示符下键入文件名时,cmd可以检查windows注册表中的默认文件关联,并使用该程序打开它。因此,如果Inkscape安装程序将.py文件与其自己的python版本相关联,cmd可能会优先运行该文件并完全忽略路径。请参阅。

python-mpydoc-k/p/g/w

在Windows Powershell中使用:python-m pydoc

示例:

python-m pydoc打开

python-m pydoc原始输入


python-m pydoc argv

windows上pydoc的语法:

备选案文1:

C:\path\PythonXX\python.exe C:\path\PythonXX\Lib\pydoc.py-k/p/g/w X:\path\file\u to\u doc.py

备选案文2:

python-m pydoc-k/p/g/w X:\path\file\u to\u doc.py

其中后者更受欢迎,嗯。但是,它要求windows安装已将python注册到环境变量“Path”中

设置windows环境变量:

请参阅以获取有关在何处找到它们的指南。你要找的是“路径”。如果选择“路径”并单击“编辑”,您将看到一长行指向不同文件夹的路径。您在这里看到的路径基本上允许您通过输入程序名而不是整个路径来访问命令行中的各种程序。因此,您要在此处定位Python安装并复制其完整路径,如下所示:
X:\subfolders\PythonXX\
,然后将其添加到路径长行的末尾,如下所示:

X:\previous\path\to\something;X:\subfolders\PythonXX\

注意分隔不同路径的“;”,确保不要忘记它。完成后,单击确认/确定,然后需要重新启动任何已打开的cmd.exe

pydoc.py

问题是pydoc是标准python库的一个模块,它也由python提供支持。据我所知,windows环境要求您指定要使用哪个程序运行某个文件。因此,要运行pydoc.py文件,我们将使用:

在windows cmd.exe中打开文件:

X:\subfolders\Python27\python.exe X:\subfolders\Python27\Lib\pydoc.py

pydoc.py的参数:

pydoc.py具有多种基于命令行的功能,允许您输入某些参数:
-k/p/g/w
其中的一个将触发pydoc.py-program的不同行为

通过命令行向程序发送参数:

我知道,输入这些参数的语法总是在
x:\pathtofile\filename.suffix
之后,用一个简单的空格分隔。这给了我们最后的结论:

备选案文1:

X:\subfolders\Python27\python.exe X:\subfolders\Python27\Lib\pydoc.py-w X:\path\file\u to\u doc.py

alt2(python已注册到路径):

python-m pydoc-w X:\path\file\u to\u doc.py

“w”-选项将为要运行文档的文件提供HTML文档。请注意,pydoc.py将(根据我的测试)在当前工作目录中创建文档文件。这意味着您需要在实际运行命令之前将自己放置在所选的文件夹中

函数-m

我能找到的是,-m似乎至少在msiexec.exe中处理注册表项。我想它通常可以用在这样的程序中。因此,我的推测是,如果应用“-m”,将重写路径,以便将.exe文件用作路径引用。但正如所说,这是一种推测


-重写所有必需的计算机特定注册表项。(在msiexec.exe中)根据

显示指示问题的示例控制台会话,最好是从cmd窗口复制/粘贴的会话。(编辑您的帖子,不要添加答案或评论)。另外,在编辑窗口中选择文本后,使用10101010按钮将其格式化为代码。如果以
pydoc.py…
而不是
pydoc…
?@Jim Garrison的形式输入命令,会发生什么情况?输出相同。我将.py的文件关联设置为python.exe,这样就不必键入扩展名。这可能是我的问题吗?@Jim这几乎肯定是你的问题。我认为你不能在windows上从命令行运行这样的脚本。但不是很积极。我也这么想,所以我就去找了。我的路径包含/python26、/python26/scripts、/python26/lib。就这样。对我的文件系统的彻底搜索显示pydoc.py位于python/26/lib和/program files/inkscape/python/lib中。Inkscape版本不在我的路径中。当我执行“pydoc”时,是否有方法监视cmd和PowerShell正在做什么?您能在这里添加一些解释吗?
c:\>python c:/python26/lib/pydoc.py file
python -m pydoc -k/p/g/w <name>