免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 35684 | 回复: 7
打印 上一主题 下一主题

python os.system() 传入参数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-10 14:01 |只看该作者 |倒序浏览
本帖最后由 caoliang3621 于 2012-07-10 14:02 编辑

dears,
在windows中需要调用cmd去执行一段 命令,所有的参数全部是变量

comand="d:/file/run.exe"
canshu1="http://baidu.com"
canshu2="123,24"

  1. os.system("%s %s %s"%(comand,canshu1,canshu2))
复制代码
但是使用如上面的会报错:不是所有的参数都是string类型
这个问题该如何处理
好像subprocess模块可以代替os.system()
该怎么操作呢

论坛徽章:
0
2 [报告]
发表于 2012-07-10 14:24 |只看该作者
命令行下能执行的话,用os.system()应该也可以吧
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-

  3. import sys
  4. import os

  5. def myprint(obj, end='\n'):
  6.     sys.stdout.write(str(obj) + end)

  7. def main():
  8.     cmd=r'dir c:\temp c:\python32'
  9.     os.system(cmd)

  10. if __name__ == '__main__':
  11.     main()
  12.     myprint('task done')
复制代码

论坛徽章:
0
3 [报告]
发表于 2012-07-10 14:33 |只看该作者
命令行可以执行,程序里面的所有,包括命令,参数,都是使用os.system()调用的变量,才报错

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
4 [报告]
发表于 2012-07-10 14:43 |只看该作者
  1. Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
  2. Type "copyright", "credits" or "license()" for more information.
  3. >>> import os
  4. >>> os.system('%s %s %s %s' % ('dir', 'c:\\', '/P', '/S'))
  5. -1073741510
  6. >>>
复制代码

论坛徽章:
0
5 [报告]
发表于 2012-07-10 14:45 |只看该作者
没有问题吧,都是字符串,我觉得好像没区别啊
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-

  3. import sys
  4. import os

  5. def myprint(obj, end='\n'):
  6.     sys.stdout.write(str(obj) + end)

  7. def main():
  8.     dir1=r'c:\temp'
  9.     dir2=r'c:\python32'
  10.     cmd=r'%s %s %s' % ('dir',dir1,dir2)
  11.     os.system(cmd)

  12. if __name__ == '__main__':
  13.     main()
  14.     myprint('task done')
复制代码

论坛徽章:
0
6 [报告]
发表于 2012-07-10 15:03 |只看该作者
啊,也没改什么,折腾了半天 又好了

论坛徽章:
0
7 [报告]
发表于 2019-03-26 19:05 |只看该作者
os.system('"STM32_Programmer_CLI -c port=/dev/cu.usbserial-MCU br=230400 -w %s/%s" % (dir,FirmwareName)')
为什么参数无法传递过去?


论坛徽章:
0
8 [报告]
发表于 2019-04-25 14:51 |只看该作者
回复 2# anonymous0502

代码不错

稍作改动,在 Ubuntu 里运行

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP