[英]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.