使用 python 模块后跟 `-m` 语法,将单行 bash 命令的 `stdout` 和 `stderr` 导出到文本文件

问题描述 投票:0回答:1

我想将 bash 命令的

stdout
stderr
导出到同一个文本文件。

bash 命令是一个单行命令,调用

python3
,后跟模块和函数的名称,然后是三个参数(每个参数都使用
--
)。

bash 命令作为 slurm 作业的一部分在 HPC 上运行。

python3 -m module.function --Arg1 Val1 --Arg2 Val2 --Arg3 Val3 

我尝试了以下方法,但失败了。它假设

2>
>
是最后一个参数的额外信息。

python3 -m module.function --Arg1 Val1 --Arg2 Val2 --Arg3 Val3 2> Output.txt
python3 -m module.function --Arg1 Val1 --Arg2 Val2 --Arg3 Val3 > Output.txt

如何能够在不对语法进行大量更改的情况下将输出导出到文件(我需要继续使用单行命令从模块调用函数)。

谢谢

python python-3.x bash slurm
1个回答
0
投票

将目标流定向到文件,然后将它们连接在一起

python3 -c 'import sys ; sys.stderr.write("err") ; sys.stdout.write("out")' > out.txt 2>&1
© www.soinside.com 2019 - 2024. All rights reserved.