关于Pythonprint输出重定向到文件和屏幕,超简单和python标准输出重定向的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于bash把所有屏幕输出重定向到文件并保持屏幕输出的方法、
关于Python print输出重定向到文件和屏幕,超简单和python标准输出重定向的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于bash把所有屏幕输出重定向到文件并保持屏幕输出的方法、Bash脚本记录和STDOUT和STDERR重定向到文件和屏幕,以便进行用户交互、IPython:将Python脚本的输出重定向到文件(如bash>)、java System.out.println 输出重定向到文件中等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- Python print输出重定向到文件和屏幕,超简单(python标准输出重定向)
- bash把所有屏幕输出重定向到文件并保持屏幕输出的方法
- Bash脚本记录和STDOUT和STDERR重定向到文件和屏幕,以便进行用户交互
- IPython:将Python脚本的输出重定向到文件(如bash>)
- java System.out.println 输出重定向到文件中
Python print输出重定向到文件和屏幕,超简单(python标准输出重定向)
import sys
import os
class Logger(object):
def __init__(self, filename="log.txt"):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass
path = os.path.abspath(os.path.dirname(__file__))
type = sys.getfilesystemencoding()
sys.stdout = Logger()
print(453453)
print(path)
print(type)
<footer><br> <h3id="autoid-2-0-0"><br> <br> <center> <span>微信公众号:AutoML机器学习</span><br> <img src="https://ask.qcloudimg.com/draft/1215004/21ra82axnz.jpg"> </center> <b>MARSGGBO</b><b><span>♥</span>原创</b><br> <span>如有意合作或学术讨论欢迎私戳联系~<br>邮箱:marsggbo@foxmail.com</span> <b><br> 2020.03.1 <p></p> </b><p><b></b><br> </p></h3><br> </footer>
bash把所有屏幕输出重定向到文件并保持屏幕输出的方法
输出到文件log中,并在屏幕上显示:
#ls >&1 | tee log
追加输出到文件log中,并在屏幕上显示:
#ls >&1 | tee -a log
Bash脚本记录和STDOUT和STDERR重定向到文件和屏幕,以便进行用户交互
您可以通过在重定向之前将流复制到另一个文件描述符中来保存流。
$: exec 3>&1 >>$outfile 2> >(tee -a $outfile >&2)
$: date # goes to log
$: date >&3 # goes to console
Tue,Sep 15,2020 8:24:19 AM
c.f。 https://www.gnu.org/software/bash/manual/html_node/Redirections.html
IPython:将Python脚本的输出重定向到文件(如bash>)
我有一个要在IPython中运行的Python脚本。我想将输出重定向(写入)到文件,类似于:
python my_script.py > my_output.txt
当我在IPython中运行脚本时如何执行此操作,例如 execfile(''my_script.py'')
有一个较旧的页面描述了可以编写的用于执行此操作的函数,但是我相信现在有一种内置的执行方法,我只是找不到。
答案1
小编典典IPython拥有自己的上下文管理器来捕获stdout /
err,但是它不重定向到文件,而是重定向到对象:
from IPython.utils import iowith io.capture_output() as captured: %run my_script.pyprint captured.stdout # prints stdout from your script
并且此功能%%capture
在Cell-
Magic中公开,如Cell
Magics示例笔记本中所示。
这是一个简单的上下文管理器,因此您可以编写自己的版本以重定向到文件:
class redirect_output(object): """context manager for reditrecting stdout/err to files""" def __init__(self, stdout='''', stderr=''''): self.stdout = stdout self.stderr = stderr def __enter__(self): self.sys_stdout = sys.stdout self.sys_stderr = sys.stderr if self.stdout: sys.stdout = open(self.stdout, ''w'') if self.stderr: if self.stderr == self.stdout: sys.stderr = sys.stdout else: sys.stderr = open(self.stderr, ''w'') def __exit__(self, exc_type, exc_value, traceback): sys.stdout = self.sys_stdout sys.stderr = self.sys_stderr
您可以通过以下方式调用:
with redirect_output("my_output.txt"): %run my_script.py
java System.out.println 输出重定向到文件中
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Date;
public class SystemOutTest {
public static void main(String[] args) throws Exception {
String property = System.getProperties().getProperty("user.home");
String filePath = property.replace("\\", "/");
String fileName = filePath + "/out.txt";
try {
System.setOut(new PrintStream(new FileOutputStream(fileName)));
while (true) {
Thread.sleep(5000);
System.out.println(new Date());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
今天关于Python print输出重定向到文件和屏幕,超简单和python标准输出重定向的分享就到这里,希望大家有所收获,若想了解更多关于bash把所有屏幕输出重定向到文件并保持屏幕输出的方法、Bash脚本记录和STDOUT和STDERR重定向到文件和屏幕,以便进行用户交互、IPython:将Python脚本的输出重定向到文件(如bash>)、java System.out.println 输出重定向到文件中等相关知识,可以在本站进行查询。
本文标签: