gpt4 book ai didi

python - 按时间排序列表中的文件,无法在列表中找到文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:33:38 32 4
gpt4 key购买 nike

我正在尝试创建一个脚本,它会自动将扫描的讲义从特定日期移动到文件夹中。

为此,我需要按照文件的上传日期(即它们的 mdate)对文件进行排序。

我遇到的问题是脚本确实找到了文件并将它们放在 list 中,但是 os.path.mtime() 命令找不到那些相同的文件。

这是我的代码:

import os
p="someDir"
if os.path.isdir(p):
files = os.listdir(p)
print("Files found in folder:", files)
files.sort(key=os.path.getmtime)

这是我得到的错误:

Files found in folder: ['20180907.pdf', '20180831.pdf',
'20180905.pdf', '20180906.pdf']

Traceback (most recent call last):
File "/home/mats/Google Drive/Programmering/Python/Python
Projects/homework/homework.py", line 32, in <module>
files.sort(key=os.path.getmtime)
File "/usr/lib/python3.6/genericpath.py", line 55, in getmtime
return os.stat(filename).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '20180907.pdf'

最佳答案

您的变量文件包含:

['20180907.pdf', '20180831.pdf',
'20180905.pdf', '20180906.pdf']

这不是关于工作目录的绝对/相对路径。该路径还包括该文件夹!

2 解决方案:1 对包含路径名的列表进行排序,即:

from os.path import join
files = [join(p, elt) for elt in files]

或者您在循环中更改工作目录,即代替打印:

os.chdir(p)

关于python - 按时间排序列表中的文件,无法在列表中找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52226857/

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