Pythonでos.popenを使用するとDpkgが壊れたパイプエラー

TellMeWhy

私はGtk + 3を試していて、dpkg --get-selectionsコマンドの出力を取得してGtk +3に表示するプログラムを作成していますTextView

プログラムを実行すると、次のエラーが発生します。

Traceback (most recent call last):
  File "file1.py", line 36, in <module>
    window = dpkgApp()
  File "file1.py", line 24, in __init__
    with open("", "w") as f:
IOError: [Errno 2] No such file or directory: ''
dpkg: error: error writing to '<standard output>': Broken pipe

これは私のコードです:

#!/usr/bin/python

import io, subprocess, os
from gi.repository import Gtk

class dpkgApp(Gtk.Window):
    def __init__(self):

        Gtk.Window.__init__(self, title="Software/dependencies")

        self.table = Gtk.Table(3, 3, True)
        self.add(self.table)

        self.scrollWindow = Gtk.ScrolledWindow()
        self.table.attach(self.scrollWindow, 0, 1, 0, 1)

        self.textView = Gtk.TextView()
        self.scrollWindow.add(self.textView)

#######################################################################
        subprocess.call("dpkg --get-selections", shell=True)
        dpkg_output = os.popen("dpkg --get-selections")

        with open("", "w") as f:
            f.writeline(dpkg_output)
            f.close()

        buffer = Gtk.TextBuffer()
        self.textView.get_buffer(buffer)
        self.textView.set_editable(False)
        self.textView.set_wrap_mode(True)
        self.textView.set_cursor_visible(False)

        buffer.set_text(dpkg_output)

window = dpkgApp()
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main()

StackOverflowを見ると、に問題subprocessがあるようですが、osモジュールを使用しdpkgコマンド出力を取得しています-エラー出力にはが含まれているdpkg: error:ので、エラーである可能性がありdpkgますか?

os.popen行をに置き換えてos.Popen(["dpkg --get-selections"], stdout=PIPE)追加しようとしましたfrom subprocess import Popen, PIPEが、エラーが発生します:

AttributeError: 'module' object has no attribute 'Popen'

何か案は?

イェンスは

dpkg --get-selectionsコールは大丈夫動作します。問題は、空のファイル名でファイルを開こうとする次の24行目にあります。

with open("", "w") as f:

空のファイル名は許可されていません。「実際の」ファイル名、または名前と場所を気にしたくない一時ファイルを使用します。

import tempfile
with tempfile.TemporaryFile() as f:

さらに、file機能がありませんwriteline、あなたはおそらく探していwritelinesます。

f.writelines(dpkg_output)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

DjangoのcollectstaticをbotoS3で使用すると、しばらくすると「エラー32:壊れたパイプ」がスローされます

分類Dev

PythonファイルをGoogleCloudStorageバケットにアップロードするとパイプが壊れたエラーが返される

分類Dev

ループ内で同じパイプを再利用すると、「壊れたパイプ」エラーが発生します

分類Dev

壊れたパイプエラーとは何ですか?

分類Dev

WSGI + Pyramidを使用したPythonでの壊れたパイプエラー( `[Errno 32]壊れたパイプ`)のサイレンシング

分類Dev

sshパイプが壊れたときにPythonプログラムを停止する

分類Dev

プログラム入力でエコー出力をリダイレクトし、プログラムが終了したときにパイプを壊さないようにするにはどうすればよいですか?

分類Dev

HDMIケーブルのみを使用して画面が壊れたラップトップにWindowsをインストールすることは可能ですか?

分類Dev

istioメッシュで実行しているときに壊れたパイプエラーをRedisします

分類Dev

Powershellでパイプラインを壊さずに、バインドされたパラメーターで「エイリアス」する方法は?

分類Dev

Rikulo-Streamは-"SocketException:OSエラー:壊れたパイプ、errno = 32"で毎日クラッシュします

分類Dev

dpkgでdebainソースパッケージを作成するときにエラーが発生しました

分類Dev

データフローエラー壊れたパイプラインエラーと503サービスを利用できないエラー

分類Dev

Ubuntu-デスクトップパッケージのインストールで壊れたパッケージエラーが発生する

分類Dev

SSH経由でgit cloneしようとしていますが、壊れたパイプエラーが発生します

分類Dev

プリコンパイルされたAzure関数を追加のメソッドで使用するとエラーが発生する

分類Dev

壊れたパイプ「¦」をセパレータとして使用するデータセットでread_csvを使用する方法???

分類Dev

exeファイルがデバッグコンパイラ設定でコンパイルされた場合、Delphiプログラムをリバースエンジニアリングまたは破壊する方が簡単ですか?

分類Dev

Pythonで壊れたパイプ(SIGPIPE)を処理する方法

分類Dev

Jetty Content ExchangeとSSLを使用するときに「パイプが壊れる」原因は何ですか?

分類Dev

Pixelbookが壊れたパッケージを保持した状態でr-base依存関係をインストールするエラー

分類Dev

forループをパイプインすると、二重引用符で囲まれた変数が壊れます

分類Dev

条件付き書式でUDFを使用する場合、VBAコンパイラがエラーを壊さない/トラップしない、エラーメッセージが表示されない

分類Dev

multiprocessing.Queueで壊れたパイプエラー

分類Dev

応答が8kbを超えると、golang httpサーバーが「壊れたパイプ」で失敗するのはなぜですか?

分類Dev

Ionic2-TabsPageでサービスを再利用するとアプリが壊れ、起動時にランタイムエラーが発生します

分類Dev

エラーを回避する方法pq_flush:クライアントにデータを送信できませんでした:壊れたパイプが見つかりました

分類Dev

インストール後のスクリプトから返されたエラーをdpkgに無視させることはできますか?

分類Dev

ARMコピーイテレータでreference()を使用すると、armテンプレートパーサーが壊れているようです

Related 関連記事

  1. 1

    DjangoのcollectstaticをbotoS3で使用すると、しばらくすると「エラー32:壊れたパイプ」がスローされます

  2. 2

    PythonファイルをGoogleCloudStorageバケットにアップロードするとパイプが壊れたエラーが返される

  3. 3

    ループ内で同じパイプを再利用すると、「壊れたパイプ」エラーが発生します

  4. 4

    壊れたパイプエラーとは何ですか?

  5. 5

    WSGI + Pyramidを使用したPythonでの壊れたパイプエラー( `[Errno 32]壊れたパイプ`)のサイレンシング

  6. 6

    sshパイプが壊れたときにPythonプログラムを停止する

  7. 7

    プログラム入力でエコー出力をリダイレクトし、プログラムが終了したときにパイプを壊さないようにするにはどうすればよいですか?

  8. 8

    HDMIケーブルのみを使用して画面が壊れたラップトップにWindowsをインストールすることは可能ですか?

  9. 9

    istioメッシュで実行しているときに壊れたパイプエラーをRedisします

  10. 10

    Powershellでパイプラインを壊さずに、バインドされたパラメーターで「エイリアス」する方法は?

  11. 11

    Rikulo-Streamは-"SocketException:OSエラー:壊れたパイプ、errno = 32"で毎日クラッシュします

  12. 12

    dpkgでdebainソースパッケージを作成するときにエラーが発生しました

  13. 13

    データフローエラー壊れたパイプラインエラーと503サービスを利用できないエラー

  14. 14

    Ubuntu-デスクトップパッケージのインストールで壊れたパッケージエラーが発生する

  15. 15

    SSH経由でgit cloneしようとしていますが、壊れたパイプエラーが発生します

  16. 16

    プリコンパイルされたAzure関数を追加のメソッドで使用するとエラーが発生する

  17. 17

    壊れたパイプ「¦」をセパレータとして使用するデータセットでread_csvを使用する方法???

  18. 18

    exeファイルがデバッグコンパイラ設定でコンパイルされた場合、Delphiプログラムをリバースエンジニアリングまたは破壊する方が簡単ですか?

  19. 19

    Pythonで壊れたパイプ(SIGPIPE)を処理する方法

  20. 20

    Jetty Content ExchangeとSSLを使用するときに「パイプが壊れる」原因は何ですか?

  21. 21

    Pixelbookが壊れたパッケージを保持した状態でr-base依存関係をインストールするエラー

  22. 22

    forループをパイプインすると、二重引用符で囲まれた変数が壊れます

  23. 23

    条件付き書式でUDFを使用する場合、VBAコンパイラがエラーを壊さない/トラップしない、エラーメッセージが表示されない

  24. 24

    multiprocessing.Queueで壊れたパイプエラー

  25. 25

    応答が8kbを超えると、golang httpサーバーが「壊れたパイプ」で失敗するのはなぜですか?

  26. 26

    Ionic2-TabsPageでサービスを再利用するとアプリが壊れ、起動時にランタイムエラーが発生します

  27. 27

    エラーを回避する方法pq_flush:クライアントにデータを送信できませんでした:壊れたパイプが見つかりました

  28. 28

    インストール後のスクリプトから返されたエラーをdpkgに無視させることはできますか?

  29. 29

    ARMコピーイテレータでreference()を使用すると、armテンプレートパーサーが壊れているようです

ホットタグ

アーカイブ