使用python 2.7计算目录中的文本文件数并编辑它们

时间:2015-05-14 15:17:23

标签: python python-2.7 variables counting

我需要帮助计算python中目录/文件夹(Windows 7)中的文件数量,这样如果有超过20个.txt文件我可以删除一些文件,总共有20个文件是.txt。如果你使用python创建另一个,它会删除最旧的。

任何答案都会有所帮助,谢谢。

System.Data.Entity

2 个答案:

答案 0 :(得分:2)

计算txt文件

import os


(_, _, my_files) = os.walk('some_directory').next()
print len([f for f in my_files if f.endswith('.txt')])

统计txt文件并删除超出前10个

的文件
import os


(_, _, my_files) = os.walk('some_directory').next()
if len([f for f in my_files if f.endswith('.txt')]) > 10:
    for f in my_files[9:]:
        os.remove(os.path.join('some_directory', f))

计算txt文件并删除x个文件后的任何内容

import os


my_directory = 'some_directory'
max_files = 20

(_, _, my_files) = os.walk(my_directory).next()

if len([f for f in my_files if f.endswith('.txt')]) > max_files:
    for f in my_files[max_files-1:]:
        os.remove(os.path.join(my_directory, f))

答案 1 :(得分:1)

对于尺寸,请使用以下内容:

import os

filesInDir = os.listdir(myPath) # returns a list with all the file names in that directory
numOfFilesInDir = len(filesInDir)

要删除文件,请使用以下命令:

import os

os.delete(pathToFile)

检查创建文件的时间:

import os

(mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(pathToFile)
# ctime is the creation time of the file.

创建文件:

open(filePath, 'w')