問題タブ [communicate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python、mpg123、およびサブプロセスが stdin.write または communicate を適切に使用していない
わかりました、私のグーグルフーは本当にひどいもので、答えを見つけることができませんでした。うまくいけば、皆さんが私を助けてくれます ^_^
わかりました、単純なスクリプトだと思っていたものは、サブプロセスと正しく通信していないようです。この行を1行ずつ実行しています。mpg123 プレーヤーも使用しています。これは Linux システムです (まあ、Raspberry Pi)。
stdout.read() を問題なく実行できますが、入力に communicate を使用するとハングするだけで、 p.stdin.write('q') は一見何もしません。これはpythonに関連していますが、mpg123ドキュメントの適切な場所も見ていないと感じています。超初心者なのでよろしくお願いします^_^
python - 別のpythonスクリプトから辞書のリストを取得しますか?
1 つの py スクリプトから別の py スクリプトを呼び出し、そこから辞書のリストを取得する必要があるプログラムがあります。他の py スクリプトを呼び出して stdout から文字列としてリストを取得する方法を理解しましたが、2 番目のスクリプトでそれを使用するにはどうすればよいですか? 2 番目のスクリプトの出力は次のとおりです。
そして、最初のスクリプトでこのリストが必要です。私が見つけた1つの解決策はを使用することですexec
が、それはいくつかのセキュリティ上の問題を引き起こし、私はそれを避けたいと思っています.
python - Python 2.7 - mpg123 とのサブプロセス コントロールの相互作用
ここで数週間前にこれに関連する質問をしました: Python、mpg123、およびサブプロセスがstdin.writeまたはcommunicationを適切に使用していません
そこからの助けのおかげで、私はその時に必要なことをすることができました. (q は呼び出しませんでしたが、それを停止するためにサブプロセスを終了しました)。
以前と同じように、mpg123 の標準的なコントロールと同じように mpg123 を終了するには、これが必要です (「q」を押して終了するか、「-」を押して音量を下げるか、「+」を押して音量を上げるなど)。 )、今私は上記のコードを使用しています。これは理論的には機能するはずであり、同様のプログラムで機能します。サブプロセスを使用して、mpg123 に組み込まれているコントロール (「mpg123 -C what.mp3」を使用してアクセスできるコントロール) を使用する方法を知っている人はいますか? コントロールが必要になるので、terminate ではもう十分ではありません ^_^
編集: abarnert にすばらしい回答をありがとう =) わかりました。したがって、新しいコードは単に abarnert の回答をわずかに変更したバージョンですが、mpg123 はコマンドを受け入れていないようです。
python - Pythonを使用してMac osxでファイルを開く方法
Pythonコードでは、サブプロセスでファイルを開こうとしました
ファイルが閉じて次の命令を実行するのを待っているため、Windowsでは正常に動作しています。しかし、mac osx 10.8.2 ではファイルを開くことすらできません。それから、私は
ファイルを開いていますが、問題はファイルをテキストエディターで開くため、開いているファイルを閉じて、ドックからテキストエディターを終了し、次の命令を実行する必要があることです。私が望むのは、デフォルトのエディターでファイルを開くことです。開いたファイルが閉じられるまで待つ必要があります。そして、開いているファイルが閉じられるとすぐに、次の命令が実行され、テキスト エディターもドックから自動的に終了するはずです。
c - Verilog シミュレーションとのリアルタイム通信
Verilog シミュレーションとリアルタイムで通信できるようにしたいと考えています。たとえば、ある場所に数字を入力すると、Verilog シミュレーションがそれを読み取って表示できるようになります。そこで、ファイルの読み取り/書き込みを使用して通信する方法を見つけました。最初に、端末に入力した内容をスキャンし、特定のファイルの数値をリアルタイムで変更する ac プログラムを作成します。次に、verilog がファイルを fscanf に保持していれば、通信できると考えました。以下の Verilog コードを書きました。動作しますが、あまり良くありません。1 ~ 9 をそれぞれ 1 秒間入力すると、約 6 つの数字が失われます。入力したすべての数値が verilog で読み取れることを願っています。ncverilog を使用してコンパイルします。Verilog を修正する方法を教えてもらえますか、または Verilog と通信する別の方法があります。どうもありがとう。
python - Pythonでサブプロセスの代わりにコマンド出力を取得するにはどうすればよいですか?
私が好きなら:
コマンドの出力が実行されました。
しかし、たとえばx.communicate()を呼び出すと、次のようになります。
たとえば、そのメッセージを変数に保存するにはどうすればよいですか?
python - subprocess.Popen("ssh host@remote cmd") が失敗しました
私はpythonサブプロセスが初めてです。python subprocess.Popen.communicate を使用して、シェル コマンド「net ads join -U administrator」との対話パスワードを達成したい場合、出力は PIPE にリダイレクトされませんでしたが、stdout にありました。私のコードは次のとおりです。
テストを実行すると、通信が機能せず、出力は標準出力のままです。
cmd を「ssh root@ip ls /」に変更すると、問題にも遭遇しました。
pdb を試してみましたが、問題はここではないようです。この問題に対処するためのアドバイスはありますか? ありがとうございました
winapi - fileopenerに関係なく、毎回新しいプロセスでファイルを開く方法
Windows 7 64 ビット python 2.7 を使用しています。ファイルを開き、ファイルの変更を監視してから、開いたファイルが閉じられるまで待機しています。これは、単純なメモ帳ファイル オープナーの場合にうまく機能します。メモ帳は新しいプロセスIDで各ファイルを開くのに対し、メモ帳++は単一のメモ帳++プロセスIDで異なるファイルを開きます。
したがって、上記のコードでは、開いているファイルタイプのみを閉じるのではなく、notepad ++を閉じると機能します(これにより、開いているすべての異なるファイルが閉じられますが、これは望ましくありません)。 ワードパッド/メモ帳でファイルを開くと、その各プロセスがファイルで作成されます。一方、notepad++ では、notepad++ の 1 つのプロセスだけがすべての異なるファイル タイプを運びます。したがって、新しいファイルを開くたびに、notepad++、msoffice、openoffice などのさまざまなタイプのファイル オープナーに対して新しいプロセス ID を呼び出す方法上記の場合、 ss.communicate()はブロッキング呼び出しではありません
python - Python を使用して実行可能ファイルを実行し、ユーザー入力を入力する
Python を使用して、Fortran 実行可能ファイルの呼び出しとユーザー入力の送信を含むプロセスを自動化しようとしています。同様の質問を読んだり、さまざまなことを試したりするのに数時間を費やしましたが、うまくいきませんでした。これは、私が最後に試したことを示すための最小限の例です
ただし、これを実行しようとすると、次のエラーが発生します。
提案や指針は大歓迎です。
編集:
Fortran 実行可能ファイルを呼び出すと、次のようにユーザー入力を求められます。
どういうわけか、実行可能ファイルを実行し、ユーザー入力を求めるまで待ってから、その入力を提供する必要があります。