我需要帮助计算python中目录/文件夹(Windows 7)中的文件数量,这样如果有超过20个.txt文件我可以删除一些文件,总共有20个文件是.txt。如果你使用python创建另一个,它会删除最旧的。
任何答案都会有所帮助,谢谢。
System.Data.Entity
答案 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')