程序员技术练级攻略 在初级内容中给我布置了一个任务:用python遍历本地文件系统,统计一个目录下所有文件大小。
今天先看书 Python For Informatics
,这本书是 coursera 上的公开课python入门提供的教材,可以免费下载,想看的朋友可以来评论区留言,我发给你们。
这本书的第16章讲到了文件系统里的一些操作,于是关键词 sys
, os
, path
都顺利出线,看完16.2章这个练级任务就完成了。
import os
count = 0
for (dirname, dirs, files) in os.walk('.'):
for filename in files:
if filename.endswith('.txt') :
count = count + 1
这段程序用来清点当前目录下有多少 .txt
文件。在idle上面运行得很顺利,在terminal里面就奇怪地报错,先不管了,focus on what works,运行完成以后再在>>>后面输入count
,idle就会告诉你数出来多少个 .txt
文件,我这里数出来200多个;然后你把 .txt
改成 .docx
就能清点目录下的word文件,我又数出来200多个;如果你把那行 if
语句删掉,那就是清点所有文件,我的目录下有10000多。
除了清点,我们还需要实现一个统计文件大小的操作,这里用到了 os.path.getsize()
函数,括号里面填入文件名就可以返回文件大小,于是:
import os
count = 0
for (dirname, dirs, files) in os.walk('.'):
for filename in files:
print(os.path.getsize(filename)
就可以输出所有文件的大小,一行一个.
留一个问题,如何修改path