4、 定义一函数,在函数中使用 input()函数输入一指定路径,统计出该路 径下所有的文件夹及文件,将其中所有的空文件夹(不包含文件)及文件大小为 0 的空文件全部删除。再将剩余所有文件按文件按每个文件的文件引用名,文 件创建时间及文件大小三个系列数据,写入到“d:\fileinfo\fileinfo.csv 文件中保 存起来。 注意:只要改变指定路径,就可以获得对应路径下的统计文件信息的 csv 文 件。
时间: 2023-06-10 13:05:33 浏览: 158
好的,我明白了。以下是函数的代码:
``` python
import os
import csv
def count_and_delete(path):
# 统计文件夹及文件
folders = []
files = []
for dirpath, dirnames, filenames in os.walk(path):
for dirname in dirnames:
folders.append(os.path.join(dirpath, dirname))
for filename in filenames:
files.append(os.path.join(dirpath, filename))
# 删除空文件夹和大小为0的文件
for folder in folders:
if not os.listdir(folder): # 判断是否为空文件夹
os.rmdir(folder) # 删除空文件夹
for file_path in files:
if os.path.isfile(file_path) and os.path.getsize(file_path) == 0:
os.remove(file_path) # 删除大小为0的文件
# 写入CSV文件
with open('d:\\fileinfo\\fileinfo.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['文件引用名', '文件创建时间', '文件大小'])
for file_path in files:
if os.path.isfile(file_path):
filename = os.path.basename(file_path)
create_time = os.path.getctime(file_path)
file_size = os.path.getsize(file_path)
writer.writerow([filename, create_time, file_size])
```
你只需调用该函数并输入指定路径即可完成题目要求。
阅读全文