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()
♠我正在使用此命令获取请求的时间戳(纪元时间)。
我使用的是 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()