Python之练习Demo

遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果,代码如下:

 1 #coding:GBK
 2 import os;
 3
 4 def SortList(item):
 5     return item[1];
 6
 7 def ReadSize(fileName):
 8     return float(os.path.getsize(fileName));
 9
10 def WriteAll(path):
11     l = []
12     loger = open("test.log","w");
13     writer = open("path.txt","w");
14     reader = open("path.txt","r");
15     size = 0;
16     for root,dirs,files in os.walk(path):
17         for filesPath in files:
18             try:
19                 fllePath = os.path.join(root,filesPath);
20                 fileSize = float(ReadSize(fllePath)/1024);
21                 size += fileSize;
22                 x = (fllePath,int(fileSize));
23                 l.append(x);
24             except:
25                 loger.write("读取:"+os.path.join(root,filesPath)+"文件大小失败!");
26                 continue;
27     l = sorted(l,key=SortList,reverse=True);
28     for item in l:
29         strTmp = "";
30         if float(item[1]/1024) > 1024:
31             strTmp = item[0]+" "+str(int(float(item[1]/1024/1024)))+"GB\n";
32         elif item[1] > 1024:
33             strTmp = item[0]+" "+str(int(float(item[1]/1024)))+"MB\n";
34         else:
35             strTmp = item[0]+" "+str(item[1])+"KB\n";
36
37         writer.write(strTmp);
38     writer.write("共使用磁盘空间:"+str(float(size/1024))+"MB");
39     loger.close();
40     writer.close();
41     print(reader.read());
42     reader.close();
43
44 fileName = os.getcwd();
45 WriteAll(fileName);
46 raw_input("END...");
时间: 2024-08-29 13:56:53

Python之练习Demo的相关文章

RPi 2B python opencv camera demo example

/************************************************************************************** * RPi 2B python opencv camera demo example * 声明: * 本文主要记录RPi 2B 使用python opencv来获取图片的方式. * * 2016-2-24 深圳 南山平山村 曾剑锋 **********************************************

Python登录模块Demo示例

Python登录模块Demo示例: #!/usr/bin/env python # This content comes from alex. while True:     NAME = raw_input("Please input your name:\n")     if NAME == 'alex':         P = '123'         PASSWD = raw_input("Please input your password:\n")

python spark kmeans demo

官方的demo from numpy import array from math import sqrt from pyspark import SparkContext from pyspark.mllib.clustering import KMeans, KMeansModel sc = SparkContext(appName="clusteringExample") # Load and parse the data data = sc.textFile("/ro

【Python】【demo实验3】【显示素数,显示两个数范围内的所有素数】

打印两个整数之间的所有素数: (使用平方根来判断  是否应停止验证该数值是否为素数) for i in range(956253526252,9956253526252): k = 1 if i == 2: print(i,"is a prime.") continue else : m = int(i ** 0.5) #square root for j in range(2,m): if i%j == 0: k = 0; #print(i,"is not a prime.

【Python】【demo实验4】【计算阶乘】

计算阶乘 # encoding=utf-8 i = int(input("please input number: \n")) k = 1 for j in range(1,i): k=k*j print("&&&",k) print("###",k) 输出结果: ————————(我是分割线)———————— 参考: None 备注: 初次编辑时间:2019年9月22日18:15:51 环境:Windows 7   /

【Python】【demo实验5】【练习实例】【多个数字组合成不重复三位数】

题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- # 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? l = 0 m = [] for i in range(1,5): for j in range(1,5): for k

【Python】【demo实验6】【练习实例】

题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%:20万到40万之间时,高于20万元的部分,可提成5%:40万到60万之间时高于40万元的部分,可提成3%:60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 程序分析:请利用数轴来分界,定位.注意定义时需把奖金定义

【Python】【demo实验10】【练习实例】【打印斐波那契数列】

斐波那契数列介绍: 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1.1.2.3.5.8.13.21.34.……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963

【Python】【demo实验14】【练习实例】【斐波那契数列】【经典兔子生小兔子问题】

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 每个月的兔子数量 1:22:23:4 2+24:6 2+2+25:10 2+2+2+2+26:16 6+6+47:26 10+10+6 第一个月和第二个月兔子不繁殖 第三个月,两个兔子繁殖两个兔子,共四个 第四个月,两个兔子继续繁殖两个兔子,小兔子不繁殖:共6个 以此类推 2,2,4,6,10,16,26 这个数量刚好是斐波那契数列 的两倍 源代码: #

【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】

题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- # 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. a = int(input("please input the number:\n")) b = a # a 的因数集合 la = [] l = [] c = int(a*0.5)+2 print("