设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 10717|回复: 1
打印 上一主题 下一主题

请教: crossin先生能否详细的讲解一下subprocess的参数问题?

[复制链接]

16

主题

1

好友

244

积分

中级会员

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2016-10-16 20:24:04 |只看该作者 |倒序浏览
最近在尝试编辑一些用subprocess调用外部程序运行的python, 经常会遇到参数空格/中文参数的问题.

我的环境是windows+python2.7

比如我想要用python执行下面的命令行(这些命令行在windows的cmd中运行是正常的)
  1. dir "d:\folder with spaces"
复制代码
  1. "d:\folder with spaces\mediainfo.exe" --Inform "d:\video folder with spaces\video name with spaces.mp4"
复制代码
不知道该如何做呢? 盼crossin先生能详细讲解一下, 非常感谢.

上面提到的mediainfo.exe是个免费的命令行程序, 用作获得媒体的信息. 我用它只是做个例子而已, 需要的话在https://mediaarea.net/en/MediaInfo/Download/Windows 可以下载.
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2016-10-17 17:18:53 |只看该作者
你在命令行下是怎么写的,subprocess里就怎么调。

看不到你的程序,不知道你的问题。大概率是你把引号搞错了。你如果只写一层引号,你传给程序,就是引号内部的字符。

你先把正确无误命令保存到一个变量中,然后去调用。
  1. cmd = r'dir "d:\folder with spaces"'
  2. subprogress.Popen(cmd, ...)
复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 22:24 , Processed in 0.015682 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部