[英]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
該工具執行以下兩項操作之一:
而已。 如果希望它提取正在查看的所有文件,則需要為每個文件調用一次。 我對cmd.exe腳本的了解不多,但是您也許可以將iso9660.py的輸出打印在每個文件上,然后將其輸送到for循環中,該循環對於每個文件再次運行iso9660.py。
根據OP的注釋,跳過輸出中目錄的唯一方法是跳過沒有“。”的行。 在他們中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.