Chinaunix

标题: os.system(") 为何会多出一行 [打印本页]

作者: fllintel    时间: 2010-11-01 20:57
标题: os.system(") 为何会多出一行
我用os.system("df -h") 输出的结果总是 多出一行
就这样:
[attach]412448[/attach]
当这个输出 写在函数里直接return 没有那多出的一行.
但我有很多这样不同的os.system(cmd)请问如何让这个多出的一行不显示出来
作者: smallfish_xy    时间: 2010-11-01 21:37
0是os.system函数的返回值
作者: a515200    时间: 2010-11-02 06:24
把他定义到函数里,不使用return,就不会返回任何值了
作者: fllintel    时间: 2010-11-02 09:20
回复 3# a515200


    在函数里 使用print 的话 也会出来.....
作者: ning_lianjie    时间: 2010-11-02 11:10
本帖最后由 ning_lianjie 于 2010-11-02 11:12 编辑

一般有标准输出的不要用os.system(),换成os.popen()比较好。把输出保存在一个变量中。
作者: ning_lianjie    时间: 2010-11-02 11:11
像这样:
  1. >>> a=os.popen('df -h')      
  2. >>> for i in a:
  3. ...     print i
  4. ...
  5. 文件系统              容量  已用 可用 已用% 挂载点

  6. /dev/mapper/VolGroup00-LogVol00

  7.                        38G   11G   25G  31% /

  8. /dev/sda1              99M   13M   82M  14% /boot

  9. tmpfs                 250M     0  250M   0% /dev/shm

  10. .host:/                79G   43G   36G  55% /mnt/hgfs

  11. 192.168.60.134:/tmp    38G   11G   25G  31% /home/test6

  12. /dev/hdc              4.1G  4.1G     0 100% /media
复制代码

作者: fllintel    时间: 2010-11-02 11:17
回复 6# ning_lianjie


    OK,明白  多谢....
作者: Zlock    时间: 2019-03-26 21:25
注:target = /Users/zlock/desktop/Martin/cat1_0322_r3.hex
os.system('"STM32_Programmer_CLI -c port=/dev/cu.usbserial-MCU br=230400 -w {}" string.format(target))')

下面变量target无法解析出来
作者: Zlock    时间: 2019-03-26 21:26
注:target = /Users/zlock/desktop/Martin/cat1_0322_r3.hex
os.system('"STM32_Programmer_CLI -c port=/dev/cu.usbserial-MCU br=230400 -w {}" string.format(target))')

下面变量target无法解析出来




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2