我不确定这是否是有效的问题。是否有可能检测到python脚本的stdout或stdin的类型?我想检查stdin / stdout是文件夹/ derectory还是数据或二进制类型。
基本上我正在尝试使用python脚本从存档中提取文件。但是,我使用的脚本写入stdout而不是解压缩。我只是想操纵这个stdout来查找目录然后在目标中创建然后查找data / file / bin并从archive中提取到目标目录。
有可能吗?
更新
以下是脚本从iso容器中列出的内容,/BOOT/GRUB2_EF
是一个目录。
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
.
.
答案 0 :(得分:1)
看起来这是您正在使用的工具?
https://github.com/barneygale/iso9660/blob/master/iso9660.py
此工具执行以下两项操作之一:
就是这样。如果您希望它提取您看到的所有文件,则需要为每个文件调用一次。我不太了解cmd.exe脚本,但您可以获取iso9660.py的输出,它会打印每个文件并将其传输到for循环中,每个文件再次运行iso9660.py。
根据OP的注释,跳过输出目录的唯一方法是跳过没有“。”的行。在他们中间。