Heim  >  Fragen und Antworten  >  Hauptteil

python - Wie gibt das Unterprozessmodul den Inhalt einer ausführbaren Datei zurück?

Der folgende Code ruft mplayer auf, um lokale Audiodateien abzuspielen. Ist es möglich, die Daten in der p获取到filepathDatei zu übergeben?

p=subprocess.Popen(["mplayer",filepath],shell=False,stdin=subprocess.PIPE,stderr=subprocess.PIPE)

filepathEs kann auch eine URL sein, wo die Daten benötigt werden, Sie diese Adresse aber nicht noch einmal besuchen möchten.
-------Ergänzung-------
Ich habe beim Debuggen nachgeschaut, um zu sehen, ob der Dateiinhalt vor dem Aufruf von mplayer abgerufen wurde, aber im Unterprozessmodul funktionierte das Debuggen in einem Schritt nicht . Daher möchte ich wissen, ob das Unterprozessmodul die Daten erhalten hat, bevor es mplayer aufruft.

给我你的怀抱给我你的怀抱2711 Tage vor693

Antworte allen(2)Ich werde antworten

  • 黄舟

    黄舟2017-05-18 11:00:55

    subprocess只是一个调用命令的库, 它的stdin, stdout也只是储存 命令输出的 结果, 如果你的命令, 在执行过程中, 有结果,有文本或者什么别的输出, 那么可以获取, 但是如果你说像解析这个音频文件, 那应该是不行的, 或者你需要别的解析方式去解释, 或者直接打开那个文件, 说不定也能得到你想要的

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-18 11:00:55

    感觉你想获取的是音频数据的metadata,如实是MP3的话可以试试ID3这个库。

    Antwort
    0
  • StornierenAntwort