繁体   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