4

さて、私はコンピューターを使用する能力に疑問を投げかけるような瞬間があります。これは、最初のSO投稿として私が想像したような質問ではありませんが、ここで説明します。

Zedの新しい「LearnPythontheHard Way」を始めたのは、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>

編集:新しい情報、pydocはPowerShellで問題なく動作します。Linuxユーザーとして、なぜとにかくcmdを使おうとしているのかわかりませんが、pydocとcmdがどうなっているのかを理解したいと思っています。

編集2:より多くの新しい情報。cmdで...

c:\>python c:/python26/lib/pydoc.py file

...問題なく動作します。PowerShellのpydocだけで、pwd、拡張機能、パスについて心配することなく、すべてが正常に機能します。

4

5 に答える 5

7

Windows Powershell の使用: python -m pydoc

例:

python -m pydoc オープン

python -m pydoc raw_input

python -m pydoc argv

于 2013-12-08T19:55:18.047 に答える
2

Windows コマンド プロンプトでファイルの名前を入力すると、cmd は Windows レジストリで既定のファイルの関連付けを確認し、そのプログラムを使用してファイルを開くことができます。そのため、Inkscape インストーラーが .py ファイルを独自のバージョンの python に関連付けた場合、cmd はそれを優先的に実行し、PATH を完全に無視する可能性があります。この質問を参照してください。

于 2011-01-04T17:50:06.513 に答える
0
python -m pydoc -k/p/g/w <name>
于 2013-07-23T18:50:46.577 に答える
0

2 番目の編集に基づいて、パスに pydoc.py の複数のコピーがある可能性があります。「間違った」コピーが最初にあるため、起動時に実行するための正しい環境がありません。

于 2010-11-11T05:05:39.880 に答える
0

Windows での pydoc の構文:

代替 1:

C:\path\PythonXX\python.exe C:\path\PythonXX\Lib\pydoc.py -k/p/g/w X:\path\file_to_doc.py

代替 2:

python -m pydoc -k/p/g/w X:\path\file_to_doc.py

そのうち、後者が優先されます。ただし、Windows インストールで Python を環境変数 "Path" に登録する必要があります。

Windows 環境変数をセットアップします。

それらを見つけるためのガイドについては、このサイトを参照してください。あなたが探しているのは「パス」です。[パス] を選択して [編集] をクリックすると、さまざまなフォルダーを指すパスの長い行が表示されます。ここに表示されているパスは、プログラムへのパス全体ではなく、プログラムの名前を入力するだけで、基本的にコマンドラインでさまざまなプログラムにアクセスできるようにするものです。ここでやりたいことは、Python インストールを見つけて、次のようにフル パスをコピーすることです。X:\subfolders\PythonXX\次に、パスの長い行の最後に次のように追加します。

X:\以前\path\to\something;X:\subfolders\PythonXX\

「;」に注意してください 異なるパスを区切るため、忘れないようにしてください。完了したら、クリックして確認/OK をクリックします。その後、既に開いている cmd.exe を再起動する必要があります。

pydoc.py

問題は、pydoc が標準の python lib のモジュールであり、python を利用していることです。私が理解しているWindows環境では、特定のファイルを実行するプログラムを指定する必要があります。したがって、pydoc.py-file を実行するには、次を使用します。

Windows cmd.exe でファイルを開きます。

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

pydoc.py の引数:

pydoc.pyには、特定の引数を入力できるコマンド ライン ベースのさまざまな機能が付属しています 。これらの機能により、 pydoc.py-k/p/g/wプログラムのさまざまな動作がトリガーされます。

コマンド ラインからプログラムに引数を送信します。

x:\pathtofile\filename.suffixこれらの引数を入力するための構文は、単純なスペースで区切られた の後に常に私が知っているものです。これにより、最終的な結果が得られます。

代替 1:

X:\subfolders\Python27\python.exe X:\subfolders\Python27\Lib\pydoc.py -w X:\path\file_to_doc.py

alt2 (python をパスに登録):

python -m pydoc -w X:\path\file_to_doc.py

" w " オプションは、ドキュメントを実行したいファイルの HTML ドキュメントを提供します。pydoc.py は (私のテストによると) 現在の作業ディレクトリにドキュメント ファイルを作成することに注意してください。実際にコマンドを実行する前に、選択したフォルダーに自分自身を配置する必要があることを意味します。

-m の機能

私が見つけたもののうち、-m は少なくとも msiexec.exe でレジストリ エントリを処理しているようです。このように、一般的なプログラムに使用される可能性があると思います。したがって、「-m」が適用されると、追跡中の引数パスが書き換えられ、.exe ファイルがパス参照として使用されるようになるというのが私の推測です。しかし、言ったように、かなり投機的です。

-m 必要なすべてのコンピューター固有のレジストリ エントリを書き換えます。(msiexec.exe 内) Microsoftによると

于 2014-04-06T18:54:30.430 に答える