gpt4 book ai didi

python - 使用 python 运行控制台命令

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:18 28 4
gpt4 key购买 nike

此代码直接在 CLI 中运行良好:

xmllint --xpath '//Entities[contains(ExpirationDate, '2015')]' app/sftp/file.xml > test.xml

现在,我需要在 Python 环境中执行相同的命令。这就是我正在尝试的:

def process_xml(path):
call(["xmllint --xpath '//Entities[contains(ExpirationDate, '2015')]' app/sftp/file.xml > test.xml"])

这是错误,我正在从同一位置运行文件和命令:

OSError: [Errno 2] No such file or directory

最佳答案

如果您与生成的进程无关,您可以只使用 os.system()

但是,如果你真的想使用 subprocess.call 和流重定向,你必须像下面这样使用它:

with open('myfile', 'w') as outfile:
subprocess.call(["xmllint", "--xpath", "//Entities[contains(ExpirationDate, '2015')]", "app/sftp/file.xml"], stdout=outfile)

请注意,subprocess.call 将程序名称及其参数作为字符串列表,这可能是问题所在

关于python - 使用 python 运行控制台命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33567245/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com