Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取python、linux中stderr重定向的目标_Python_Linux - Fatal编程技术网

获取python、linux中stderr重定向的目标

获取python、linux中stderr重定向的目标,python,linux,Python,Linux,我正在将stderr重定向到包含 python foo.py 2> stderror.txt 脚本完成一半后,我想用 subprocess.call(['cp', 'stderror.txt', 'destination.txt']) 我的问题-如果我将stderr重定向到results/stderror.txt,该怎么办?有没有一种方法可以通过编程从脚本中获取重定向的目标 (注意:我知道这不是解决我问题的真正方法。只是好奇。)一种可能的方法是阅读链接/proc//fd/2: os.r

我正在将stderr重定向到包含

python foo.py 2> stderror.txt
脚本完成一半后,我想用

subprocess.call(['cp', 'stderror.txt', 'destination.txt'])
我的问题-如果我将stderr重定向到
results/stderror.txt
,该怎么办?有没有一种方法可以通过编程从脚本中获取重定向的目标


(注意:我知道这不是解决我问题的真正方法。只是好奇。)

一种可能的方法是阅读链接
/proc//fd/2

os.readlink(“/proc/%d/fd/2”%os.getpid())

快捷方式是使用
/proc/self/fd/2
。在未定向的情况下,您将在
/dev
中获得一些特殊文件,通常是一个伪终端。对于其他操作系统,请参见。

当然,这只适用于支持
/proc
文件系统的类似linux的系统。
/proc/self
是调用进程的
/proc/
目录的符号链接。仅供参考