class Logger(object):
def __init__(self, filename="Default.log"):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
path = os.path.abspath(os.path.dirname(__file__))
type = sys.getfilesystemencoding()
sys.stdout = Logger('a.txt')
print(path)
print(os.path.dirname(__file__))
print('------------------')
for i in range(5, 10):
print("this is the %d times" % i)
第二种方法:在终端执行
python<你的python文件.py>outputfile.txt
参考链接:
1.
https://blog.csdn.net/young2415/article/details/76595318
2.
https://blog.csdn.net/w76190504/article/details/81085055
第一种方法:在代码import之后,其余所有代码之前执行,这个代码块之前的print都不会输出的import sysimport os class Logger(object): def __init__(self, filename="Default.log"): self.terminal = sys.stdout self.log = op...
#将要
输出
保存
的
文件
地址,若
文件
不存在,则会自动创建
fw = open("C:\GitCode\
pr
oduct\test.
txt
", 'w')
#这里平时
pr
int
("test")换成下面这行,就可以
输出
到文本
中
了
fw.write("test")
fw.write("\n")
我们的目标是将
pr
int
输出
导入
txt
,实现方法如下:
log = open("a.
txt
",mode="a",encoding="utf-8")
for i in range(100):
a=b()
pr
int
(a,file = log)
log.close()
import sys
newfile = 'C:\VisualSTUDIO\climbdouban\soup.
txt
'
data = open(newfile,'w',encoding="utf-8")
sys.stdout = data
data.close()
python
中
将
pr
int
输出
为
txt
碰到问题的时候
碰到报错UnicodeEncodeError: ‘gbk’ codec ...
doc.close()
testoutput.
txt
文件
里面的
内容
如下,如果要直接打开一个textoutput.
txt
而不输入完整路径,你需要保证该
txt
文件
位于同一个子目录下
这是第1次输入
这是第1次输入
这是第2次输入
网上搜标题,得到一些代码,但放在Pycharm运行时,总是得到空日志文档,最后找到解决办法。
1 代码存为Logger.py
根据网文,得到了以下代码,存为Logger.py,方便引用。
import sys # 需要引入的包
# 以下为包装好的 Logger 类的定义
class Logger(object):
def __init__(self, filename="Default.log"):
self.terminal = sys.stdout
import scipy.io as io
result1 = np.array(result1)
np.save
txt
('n
pr
esult1.
txt
',result1)
io.savemat('save.mat',{'result1':result1})