簡體   English   中英

如何使用管道編寫Python exe程序?

[英]How to compose Python exe programs using pipes?

Python新手在這里。

  1. 我創建了一個Python程序msg.py ,該程序輸出一條消息(Hello,World)。

  2. 我創建了一個Python程序id.py ,該程序讀取輸入並將其輸出。

  3. 使用py2exe我創建了每個文件的可執行文件: msg.exeid.exe

  4. 我創建了一個DOS批處理文件,設置PATHdist的文件夾msg.exedist的文件夾id.exe

  5. 然后,我將其添加到DOS批處理文件中:

    味精| ID

當我運行批處理文件時,出現以下錯誤消息:

Traceback (most recent call last):
  File "id.py", line 4, in <module>
IndexError: list index out of range

我推測管道符號不喂食的輸出msg.exe到的輸入id.exe 那是對的嗎?

  1. 因此,我將其放置在批處理文件中:

    ID <味精

當我運行批處理文件時,出現以下錯誤消息:

Access is denied.

我真的希望第5步能夠正常工作。 也就是說,我真的希望能夠使用管道符號來編寫程序,如下所示:

A | B | C | ...

理想情況下, ABC ,...可以是用各種語言(例如PythonC等)編寫的可執行文件。

我該如何工作?

以下是我所做的詳細信息。 我在Windows 7上運行。

這是msg.py

import stdio

stdio.writeln('Hello, World')

這是id.py

import sys
import stdio

msg = sys.argv[1]
stdio.writeln(msg)

這是我的DOS批處理文件:

@echo OFF

set PATH=%PATH%;msg/dist;id/dist

msg | id

sys.argv用於命令行參數(id.py abc)。

要從管道讀取,您需要在id.py中使用sys.stdin.read()

編輯:另請參閱: https//stackoverflow.com/a/7608205/478656

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM