在 json.dumps 中插入 datetime.datetime.now 作为值

问题描述

我正在做一个项目,我需要使用 curl json.dumps 将数据插入到服务器,这些数据将存储在 unix 服务器上的记事本中。下面是我的代码

import getpass
import datetime
import json

staffid = getpass.getuser()
machine = socket.gethostname()
Now = datetime.datetime.Now()

cmdlist = ['curl','-k','-X','POST','-H','Content-Type: application/json','Authorization: Basic XXXX','-d','http://XXX.XX.XX:5002/data']
        UserData={}
        UserData["Staffid"]=staffid
        UserData["Machine"]=machine
        UserData["Today"]=Now
        cmdlist.insert(-1,json.dumps(UserData))
        pipe=Popen(cmdlist,stdin=PIPE,stdout=PIPE,stderr=PIPE,shell=True)

curl 工作正常,可以在记事本中加载人员和机器,但我在加载“Now”变量时出错。

"POST /data HTTP/1.1" 500 -

我尝试将变量转换为下面的值。

date_time=Now.strftime("%m%d%Y %H,%M,%s")

但还是出现同样的错误。是否有解决方案将当前日期时间添加为 json 允许输入的变量。

更新:

大家好, 我尝试将日期时间转换为字符串并尝试作为数据加载,它实际上允许输入。

更新以下代码供您参考。

import getpass
import datetime
import json

staffid = getpass.getuser()
machine = socket.gethostname()
Now = datetime.datetime.Now()
strNow = str(Now)

cmdlist = ['curl','http://XXX.XX.XX:5002/data']
        UserData={}
        UserData["Staffid"]=staffid
        UserData["Machine"]=machine
        UserData["Today"]=strNow
        cmdlist.insert(-1,shell=True)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)