gpt4 book ai didi

python - 在 Windows 10 上从 Python 获取准确的文件创建日期

转载 作者:行者123 更新时间:2023-12-05 06:00:37 25 4
gpt4 key购买 nike

我正在尝试使用 python 获取文件的准确(使用 ms 分辨率)创建日期。

在 Window 上获取准确创建日期的方法是使用 wmic .所以我准备了一个简单的 shell 命令来读取创建日期:

wmic datafile where name="C:\\Users\\Public\\test.txt" get creationdate | findstr /brc:[0-9]

在 Win10 上通过 CMD shell 运行正常(如果文件存在)然后我尝试使用子进程从 python 运行相同的命令:

import subprocess
from subprocess import check_output, STDOUT, CalledProcessError
cmd = 'wmic datafile where name="C:\\Users\\Public\\test.txt" get creationdate | findstr /brc:[0-9]'
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print( "program output:", out)


try:
o = check_output(cmd, stderr=STDOUT, shell=True)
returncode = 0
except CalledProcessError as ex:
o = ex.output
returncode = ex.returncode
if returncode != 1: # some other error happened
raise
finally:
print(o)

但是我得到了同样的错误信息:

Node - usernameERROR:Description = Invalid query

关于如何获取有关修复错误的更多信息,您有什么建议吗?

最佳答案

import subprocess
from subprocess import check_output, STDOUT, CalledProcessError
cmd = 'wmic datafile where name="C:\\\\Users\\\\Public\\\\test.txt" get creationdate | findstr /brc:[0-9]'
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print( "program output:", out.decode().rstrip())

out.decode().rstrip()返回一个字符串,类似于'20210113222350.636280+060' .

解释:

  1. 转义所有\ Windows 路径中的 (Reverse Solidus)。
  2. 检查返回值类型:type(out) ==> <class 'bytes'> ;将其解码为字符串。
  3. 使用 rstrip() 方法去除所有尾随空格.

备注:import os; os.path.getctime("C:\\Users\\Public\\test.txt")返回一个 float1610573030.6362805这是一种纪元时间格式,恕我直言 (GMT Wednesday, 13 January 2021 21:23:50.636)。

关于python - 在 Windows 10 上从 Python 获取准确的文件创建日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67607136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com