1

わかりました。これらのコマンドをバッチで使用していますが、Pythonで同様の影響を与えるコマンドを知りたいと思っていました。明確にするために、それぞれにos.system( "command here")を使用したくありません。たとえば、バッチではhelpと入力しますが、Pythonではhelp()と入力してからmodulesと入力します... pythonスクリプトでバッチを使用しようとはしていませんが、両方の類似点を知りたいだけです。言語。英語のようにあなたは「こんにちは」と言いますが、フランス語では「ボンジュール」と言います。2つの言語を混ぜないでください。(ここに、idが知りたいコマンド/関数のリストがあります:

  1. 現在のディレクトリを変更します
  2. コンソールの画面をクリアします
  3. プロンプトを>>>以外のものに変更します
  4. ループ関数の作り方
  5. リダイレクト/パイプ
  6. スクリプト内から外部プログラム(メモ帳やペイントなど)を開始します
  7. 別のPythonスクリプトを呼び出すまたはインポートする方法
  8. help()と入力せずに特定のモジュールのヘルプを取得する方法

@ 8 :(バッチではコマンド/?

完全に編集

Adnvanceに感謝します!

4

5 に答える 5

2

バッチスクリプトをPythonに機械的に変換して、それが機能することを期待することはできません。それは異なる言語であり、異なる目的は言うまでもなく、異なるイディオムと物事のやり方を持っています。

以下に、必要なものに関連するいくつかの関数をリストしましたが、Pythonを学習するだけに代わるものはありません。


  1. os.chdir

  2. os.system("cls")おそらく最も簡単な解決策です

  3. 変更sys.ps1してsys.ps2

  4. いいえ、Pythonにはgotoはありません。代わりにandloopsをfor使用してください。while

  5. 意味がありません。代わりにPythonのIOを使用してください。

  6. subprocess.Popen

  7. 意味がない、使用する、importまたはsubprocess.Popen代わりに。

  8. help

于 2010-12-11T18:36:41.037 に答える
2

あなたが言及したことのほとんど(など)は「バッチコマンド」ではなくstartcls特定のタスクを実行する実行可能プログラムです。DOSの「シェル」は、ファイル内でこれらを検出すると、単にこれらを実行します。この意味で、「python」は単一の実行可能ファイル(のようなcls)に相当します。

これで明らかなように、cd(および他のほとんどのOS固有のタスク)はosモジュールを使用して実行されます。画面をクリアする単一のPythonステートメントはありません-それは無駄です。Pythonインタープリターのプロンプトを変更するには、にを割り当てsys.ps1ます。ループはwhileまたはを使用して実行されforます。リダイレクトは発生しません。ただし、subprocessモジュールを使用してサブコマンドを実行し、それらの出力をファイルまたは他のストリームに送信することはできます。コマンドの開始は、subprocess.Popen関数を使用して行われます。ヘルプを取得するには、実行するか、ipythonhelp("command")使用している場合は、 Enterキーを押してください。command?

バッチをPythonにマップしようとするのではなく、実際にチュートリアルを実行する必要があります。commands

于 2010-12-11T18:41:20.950 に答える
1

Pythonのドキュメントは優れており、開始する場所です。シェルスクリプトのようなことをするために、あなたはチェックしたいと思うでしょう:

于 2010-12-11T18:34:17.223 に答える
1

Pythonはシステムシェルではなく、Pythonはマルチパラダイムプログラミング言語です。

.bat何かと比較したい場合は、またはと比較してshくださいbash。(さまざまなプラットフォームでも使用できます。たとえば、shWindowsの場合はMinGWパッケージに含まれています)。

于 2010-12-11T18:52:30.293 に答える
0

私はあなたとほとんど同じ問題に直面しています、daniel11。解決策として、私はBATCHコマンドとその意味を学んでいます。それらを理解した後、同じことを実行するか、同じタスクを実行するプログラムをPythonで作成します。

AdamV.とkatrielatexの洞察と提案に感謝します。

于 2013-07-01T20:19:02.080 に答える