列出最后为当前目录创建的日期

时间:2019-04-04 23:18:53

标签: python python-3.x

我以前从没写过Python,并且有一份家庭作业。 这就是我需要做的。列出在给定文件夹中创建的所有文件名,大小,日期。过滤文件大小(您可以执行=,>或<)取决于您的大小或范围。该脚本应检查并验证文件夹名称和大小。 该脚本应循环运行,直到在所有子文件夹中找到大于指定大小的所有文件。

我已经能够获取文件列表和大小,仅此而已。

这是我到目前为止所拥有的。

import os
Path = os.getcwd()
Files = list(os.listdir(Path))

Dict = dict()
for Allfiles in Files: 
    size = os.stat(Allfiles)
    Dict[Allfiles] = size

for item in Dict:
    print("{:30s} {:d} Bytes".format(item,Dict[item].st_size))

1 个答案:

答案 0 :(得分:1)

我认为您应该牢记以下几点。

  1. 您需要处理所有子目录。您可以使用递归或迭代方法来执行此操作。我喜欢第一个这样的东西:
process.Refresh()

一个迭代看起来很相似。

  1. 您需要获取有关某些文件的信息。 def get_all_files(path_to_dir: str) -> dict: result = dict() for file_name in os.listdir(path_to_dir): full_path = os.path.join(path_to_dir, file_name) if os.path.isdir(full_path): result.update(get_all_files(full_path)) else: result[full_path] = "<info-about-file>" return result 返回所有必需的数据:os.stat表示大小,st_size表示创建时间(以秒为单位)。您可以使用st_ctime将秒转换为可读格式。

  2. 还需要用于尺寸比较的功能。例如

datetime.datetime.fromtimestamp

如果def is_need_to_print_file(size: int, min_size: int=0, max_size: int=-1) -> bool: if size < min_size: return False if max_size != -1 and size > max_size: return False return True 等于min_size,将检查确切值。

  1. 函数max_size提供目录路径验证的功能。