gpt4 book ai didi

python - 如何在 Python 中存储 linux 调用的输出

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:28 25 4
gpt4 key购买 nike

我正在编写一个脚本来根据特定列对文件进行排序。为此,我尝试调用“排序”Linux 命令。我使用的代码是:

from subprocess import 
path_store = /homes/varshith/maf
input = path_store
field = "-k2"
store_output_in_new_file = ">"
new_path = path_store + "_sort.bed"
sorting = Popen(["sort", field, input, append, new_path], stdout=PIPE)

但这不能正常工作。在此先感谢您的帮助。

最佳答案

使用通信获取输出:

from subprocess import PIPE,Popen
sorting = Popen(["sort", field, output, append, new_path], stdout=PIPE)
out, err = sorting.communicate()
print out

或者只对 python >= 2.7 使用 check_output:

sorting = check_output(["sort", field, output, append, new_path])

如果你只想写排序后的内容,你可以将 stdout 重定向到一个文件对象:

output = "path/to/parentfile"
cmd = "sort -k2 {}".format(output)
with open(new_file,"w") as f:
sorting = Popen(cmd.split(),stdout=f)

关于python - 如何在 Python 中存储 linux 调用的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28069792/

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