我试图在当前目录中查找所有更改x
了几分钟的文件。x
将是用户在运行脚本时给定的命令行参数。
我在将命令行参数转换为适当的秒数时遇到问题:
这是我所拥有的
import os,sys,time
var = int(sys.argv[1])
past = time.time() - var * 60
result = []
dir = os.getcwd()
for p, ds, fs in os.walk(dir):
for fn in fs:
filepath = os.path.join(p, fn)
status = os.stat(filepath).st_mtime
if os.path.getmtime(filepath) >= past:
result.append(filepath)
print result
这似乎工作正常,但我不明白时间如何运作。如果用户输入5分钟,则我将5 * 60乘以300,然后再进行比较,然后返回状态。
这样对吗?
关于I don't understand how time works
,请参考文档:
time.time()
:返回自纪元以来的时间(以秒为单位)为浮点数。os.path.getmtime()
:返回值是一个数字,给出自纪元以来的秒数(请参见时间模块)。因此,程序正在从当前时间(以秒为单位)减去几秒钟,然后检查是否存在在那之后修改过的文件(os.path.getmtime(filepath) >= past
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句