我创建了一个表:
cursor.execute("CREATE TABLE articles (title varchar PRIMARY KEY, pubDate timestamp with time zone);")
Run Code Online (Sandbox Code Playgroud)
我插入了一个这样的时间戳:
timestamp = date_datetime.strftime("%Y-%m-%d %H:%M:%S+00")
cursor.execute("INSERT INTO articles VALUES (%s, %s)",
(title, timestamp))
Run Code Online (Sandbox Code Playgroud)
当我运行SELECT语句来检索时间戳时,它会返回元组:
cursor.execute("SELECT pubDate FROM articles")
rows = cursor.fetchall()
for row in rows:
print(row)
Run Code Online (Sandbox Code Playgroud)
这是返回的行:
(datetime.datetime(2015, 12, 9, 6, 47, 4, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=660, name=None)),)
Run Code Online (Sandbox Code Playgroud)
如何直接检索datetime对象?
我将 python 脚本作为 systemd 服务运行,它在以下.service文件中定义:
[Unit]
Description=MyService
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/username/projects/website_notifier/run_service.py
[Install]
After=multi-user.target
Run Code Online (Sandbox Code Playgroud)
在我的 run_service.py 文件中,我然后使用日志记录模块记录输出:
import logging
logging.basicConfig(filename=settings['log_file_name'], level=logging.INFO)
logging.info("Starting notifier service at " + str(datetime.utcnow()))
Run Code Online (Sandbox Code Playgroud)
问题是当我运行我启动我的文件时,这些信息没有被记录到我的日志文件中 systemctl
现在,我知道通常 systemd 会输出到 journalctl,我不想要这个。我希望能够通过另一个不以管理员权限运行的脚本访问此日志。
我怎样才能做到这一点?