【发布时间】:2021-12-31 21:43:11
【问题描述】:
我有几个格式如下的 txt 文件。它们都位于名为folder_path 的同一目录中,并且都以格式“date Month 2019”开头,然后是文件名的其余部分,然后是“.txt”。每个文件都有不同的名称和不同的日期和月份。
4 JUN 2019 file name something.txt
1 JUN 2019 file name something.txt
18 APR 2019 file name.txt
15 APR 2019 file name.txt
13 APR 2019 file name.txt
我需要按时间顺序、月份和日期对它们进行排序,而不更改文件名的其余部分。所以文件应该是这样的:
13 APR 2019 somename.txt
15 APR 2019 somename.txt
18 APR 2019 filename.txt
1 JUN 2019 somename.txt
4 JUN 2019 somename.txt
我正在考虑使用 sorted 并计算前 7 位数字,或者将日期和月份与文件名分开。我做了这样的事情,但什么也没发生。我对 Python 很陌生,所以感谢任何解决方案。
def first_7chars(filename):
return(filename[0:8])
sorted(folder_path, key = first_7chars)
【问题讨论】:
-
对于
sorted(folder_path),如果folder_path是一个字符串,它将对字符串本身的字符进行排序,而不是对目录中的文件进行排序。因此,我添加了一个关于如何为您获取目录中的文件名的重复链接。