python 子流程模块更改日期格式

python subprocess module changes date format

♠我正在使用此命令获取请求的时间戳(纪元时间)。

我使用的是 bash 命令日期,它对我有用,但是使用这个 python 命令我获得了另一种格式的日期。

bash

date +%s%3N

bash输出

1640426436567

python

import subprocess
start = subprocess.Popen(["date", "+%s%3N"], stdout=subprocess.PIPE, shell=True).communicate()[0]
print(str(start))

python输出

b'Sat Dec 25 05:37:04 AM EST 2021\n

知道如何解决这个问题吗?

试试这个:

import subprocess
start1 = subprocess.Popen("date +%s%3N", stdout=subprocess.PIPE, shell=True).communicate()[0]
start2 = subprocess.Popen(["date", '+%s%3N'], stdout=subprocess.PIPE).communicate()[0]
print("shell=True", start1)
print("shell=False", start2)

输出

shell=True b'1640435179481\n'
shell=False b'1640435179488\n'

到字符串 ->(解码和剥离)

start1 = subprocess.Popen("date +%s%3N", stdout=subprocess.PIPE, shell=True).communicate()[0].decode("utf-8").strip()