2016-04-02 60 views
0

使用子进程执行命令后,会给出字符串类型的结果。如何在python中的子进程中指定数据类型?

cmd = "ping -c 2 stackoverflow.com | grep -i icmp* |wc -l" 
count = subprocess.check_output([cmd],shell=True) 
count 
'2\n' 
type(count) 
<type 'str'> 

但我需要在“int”的格式,这样算不算除了它类型转换为“int(计数)”,我怎么能做到这一点,在子命令级...有任何选项来指定数据类型在子进程本身?

回答

0

命令输出总是一个字符串缓冲区。如果这就是你需要的,只需将它投射到int即可。

0

subprocess通过原始数据管道进行通信,这些管道以str(Python 3中的bytes)发送和接收。没有其他数据类型是可能的。正如你在你的问题中提到的,你只需要将结果转换为count = int(count)

相关问题