簡體   English   中英

如何檢測stdout / stdin的類型

[英]How to detect type of stdout/stdin

我不確定這是否是有效的問題。 是否可以檢測python腳本的stdout或stdin類型? 我想檢查stdin / stdout是文件夾/目錄還是數據或二進制類型。

基本上,我試圖使用python腳本從存檔中提取文件。 但是,我不使用提取,而是使用寫入in stdout的腳本。 我只想操縱此stdout來找到目錄,然后在目標位置創建,然后找到data / file / bin並從存檔提取到目標目錄。

有可能這樣做嗎?

Updtate

這是腳本從/BOOT/GRUB2_EF是目錄的iso容器中列出的內容。

C:\Users\Sundar\Documents\multibootusb>iso9660.py i:\home\sundar\openSUSE-13.1-K
DE-Live-x86_64.iso
/
/BOOT
/BOOT/0XA89369.
/BOOT/BOOTPART.CFG
/BOOT/GRUB2_EF
/BOOT/GRUB2_EF/GRUB.CFG

我嘗試使用此命令創建目錄:-

C:\Users\Sundar\Documents\multibootusb>iso9660.py i:\home\sundar\openSUSE-13.1-K
DE-Live-x86_64.iso /BOOT/GRUB2_EF/THEMES > dir

但是,這是我得到的,它不是目錄...

C:\Users\Sundar\Documents\multibootusb>dir
.
.
23/02/2014  11:52 AM             5,000 detect_iso.py
23/02/2014  11:53 AM             3,152 detect_iso.pyc
23/02/2014  06:07 PM             2,048 dir
16/02/2014  07:30 PM    <DIR>          dist
08/12/2013  06:31 AM               230 install_distro.py

UPDATE2

C:\Users\Sundar\Documents\multibootusb>iso9660.py i:\home\sundar\openSUSE-13.1-K
    DE-Live-x86_64.iso /ISOLINUX.CFG > file.cfg

這是file.cfg的內容

default openSUSE_13.1_KDE_Live
implicit 1
display isolinux.msg
.
.

看來這是您使用的工具?

https://github.com/barneygale/iso9660/blob/master/iso9660.py

該工具執行以下兩項操作之一:

  1. 在ISO中打印文件列表。
  2. 從ISO提取一個文件。

而已。 如果希望它提取正在查看的所有文件,則需要為每個文件調用一次。 我對cmd.exe腳本的了解不多,但是您也許可以將iso9660.py的輸出打印在每個文件上,然后將其輸送到for循環中,該循環對於每個文件再次運行iso9660.py。

根據OP的注釋,跳過輸出中目錄的唯一方法是跳過沒有“。”的行。 在他們中。

暫無
暫無

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

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