如何使用 python 中的子进程调用以下命令 " python -m xport C:/abc.xpt > C:/abc.csv "

How to call the following command using subprocess in python " python -m xport C:/abc.xpt > C:/abc.csv "

如何使用 python 中的子进程调用以下命令" python -m xport C:/abc.xpt > C:/abc.csv “?

该命令在命令提示符下运行正常。 但是在 python.

中尝试通过子进程执行时出错

subprocess.call(["python", "-m", "xport", "C:/abc.xpt", ">", "C:/abc.csv"] )

上面的命令报错说, 用法:xport.py[-h][输入] xport.py:错误:无法识别的参数:C:/abc.csv

> C:/abc.csv 是将输出重定向到文本文件,而不是命令的一部分。 但是,如果您已经在 python 脚本中,为什么不直接调用函数或模块呢?不需要使用子进程,但如果你想使用它,你需要捕获输出并将其存储在某个地方(在变量或文件中)

>>> proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
>>> output = proc.stdout.read()
>>> print output
bar
baz
foo