我的任务是创建一个小型应用程序,该应用程序允许用户:浏览并选择包含每天要检查的文件的特定文件夹,浏览并选择将接收复制文件的特定文件夹,并手动启动“文件”检查由脚本执行的过程。为此,我需要获取最后修改时间并添加一个 if 语句来检查文件是否超过 24 小时,然后它将文件移动到正确的文件夹中。我想我知道该怎么做。我遇到问题的地方是 os.path.getmtime 方法。据我了解,我无法获得多个文件的修改时间。我必须专门命名文件。所以'../文件传输/旧文件/'不起作用。我不断收到同样的错误:
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'LICENSE-MIT.txt'
(这是旧文件文件夹中的第一个 txt 文件)如果我将代码更改为:
x = os.path.getmtime(../File Transfer/Old Files/LICENSE-MIT.txt)
它有效,但有一个并发症。它给了我以秒为单位的时间,在 4490 亿范围内。我可以使用以下代码将该数字转换为可用数字:
y = int(x)
z = y//60//60
print(z)
这将其保持为 int 而不是 float,并将其从秒转换为小时。然后我会做一个 >=24 if 语句来查看它是否超过一天。但是,这仍然只是单个文件基础之一,这对于我希望程序执行的操作确实不起作用。我希望它对文件夹中的所有文件执行此操作,无论这些文件的名称是什么,或者它们有多少。任何帮助将不胜感激!
这是我用来迭代文件夹并分别获取每个文件修改时间的脚本:
for file in os.listdir('../File Transfer/Old Files/'):
if file.endswith ('.txt'):
time_mod = os.path.getmtime(file)
print(time_mod)
忽略最后一行。那只是为了我,所以请查看故障排除的结果。