如何自动保存 GtkTerm 输出到文件中

如何自动保存 GtkTerm 输出到文件中

我需要将GtkTerm工具中的日志直接捕获到文本文件中。我试过

gtkterm > /path/to/file/file.txt

touch /path/to/file/file.txt
gtkterm -f /path/to/file/file.txt -e -c MyConfiguration

在这两种情况下,GtkTermshell 都开始生成日志,但目标文件为空。

答案1

我有答案/解决方案给你。

首先,抱歉我的英语水平不好,我会尽力的。

我和你一样在寻找同样的东西,但我什么也没找到。我编写了一个脚本来自动执行此操作,并且它有效。以下是代码:

#!/usr/bin/python
# get lines of text from serial port, save them to a file

from __future__ import print_function
import serial, io

addr  = '/dev/ttyUSB0'   # serial port to read data from
baud  = 9600             # baud rate for serial port
fname = '/home/gps.dat'  # log file to save data in
fmode = 'a'              # log file mode = append

with serial.Serial(addr,9600) as pt, open(fname,fmode as outf:
   spb = io.TextIOWrapper(io.BufferedRWPair(pt,pt,1),
     encoding='ascii', errors='ignore', newline='\r',line_buffering=True)
   spb.readline()  # throw away first line; likely to start mid-sentence (incomplete)
 while (1):
     x = spb.readline() # read one line of text from serial port
     print (x,end='')   #echo line of text on-screen
     outf.write(x)      #write line of text to file
     outf.flush()       #make sure it actually gets written out

这是运行通信的脚本。在我的例子中,我有一个 GPS 通过 RS-232 (DB-9) 连接到 USB 电缆,连接到 Raspberry PI (Raspbian SO),为此我使用 ttyUSB0。

在 fname 行中,您可以指示要捕获信息的文件的目的地和名称。

如果您想使用.dat 或 .txt 格式,则没有问题。

还有一件事。我没有为此使用 gtkterm(我对这个终端很着迷)。

我认为这对您的任务来说是一种非常简单的方法,我希望它会很有用。

相关内容