Python 的 os 模块
python中os.popen, os.system()区别
os.system的结果只是命令执行结果的返回值,执行成功为0:
>>> a=os.system('ls /') bin boot dev etc home iptv lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var >>> a 0
但用os.popen就可以读出执行的内容,popen返回的是file read的对象,对其进行读取使用read(),就可看到执行的输出:
>>> b=os.popen('ls /') >>> b.read() 'bin\nboot\ndev\netc\nhome\niptv\nlib\nlib64\nlost+found\nmedia\nmnt\nopt\nproc\nroot\nsbin\nselinux\nsrv\nsys\ntmp\nusr\nvar\n' >>> type(b) <type 'file'> >>> b=os.popen('ls /') >>> b.read().strip('\n') 'bin\nboot\ndev\netc\nhome\niptv\nlib\nlib64\nlost+found\nmedia\nmnt\nopt\nproc\nroot\nsbin\nselinux\nsrv\nsys\ntmp\nusr\nvar' >>>
>>> b=os.popen('ls /')
>>> type(b.read())
<type 'str'>
>>> type(b)
<type 'file'>
>>>
可以看出,输出的结果比较特殊,带换行符\n
b.read().strip('\n') 去掉最后的换行符

浙公网安备 33010602011771号