首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用子进程执行“ssconvert”命令

如何使用子进程执行“ssconvert”命令
EN

Stack Overflow用户
提问于 2015-11-25 07:02:36
回答 2查看 777关注 0票数 0

我想执行以下命令:

代码语言:javascript
复制
ssconvert /data/sam.xls,/data/test.csv

我试过:

代码语言:javascript
复制
 p = subprocess.Popen(["ssconvert", '/data/sam.xls','/data/test.csv'], stdout=subprocess.PIPE,shell=True)
   out = p.communicate()
   print"output", out

但这不管用。

我怎样才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-18 12:14:53

这是可行的

代码语言:javascript
复制
import subprocess
subprocess.call(["ssconvert","sample.xlsx","sample.csv"],cwd="pathtoyourfile") # pathtoyourfile must contain the xlsx and csv files
票数 1
EN

Stack Overflow用户

发布于 2015-11-25 09:50:26

正确的命令不是ssconvert /data/sam.xls,/data/test.csv它应该是ssconvert /data/sam.xls /data/test.csv (注意:输入和输出文件名之间的空格,而不是逗号)。

如果使用shell=True,则应该将命令作为字符串传递。在这种情况下不需要使用shell=True。如果是shell=False (默认),那么每个命令行参数都应该作为一个列表项传递:

代码语言:javascript
复制
#!/usr/bin/env python
import subprocess

subprocess.check_call(['ssconvert', '/data/sam.xls', '/data/test.csv'])

请参阅为什么当args是序列时,subprocess.Popen不能工作?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33910349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档