python 小程序 查找最大的python文件
1. 扫描标准库目录
I 通过glob模块遍历一个目录下面的所有文件,glob接收shell中常用文件名模式语法:“?”代表任何单个字符,*代表任意字符
import glob
import os
import sys dirname = '/usr/lib/python3.5' if len(sys.argv) == 1 else sys.argv[1]
allsize = [] allpy = glob.glob(dirname + os.sep + '*.py')
for filename in allpy:
filesize = os.path.getsize(filename)
allsize.append((filesize, filename)) allsize.sort()
print(allsize[-2:])
2. 扫描标准目录树
I 通过os.walk方法来循环遍目录树
import os
import pprint dirname = '/usr/lib/python3.5' allsize = []
for (curDir, subDir, fileHere) in os.walk(dirname):
print(curDir)
for filename in fileHere:
if filename.endswith('.py'):
fullname = os.path.join(curDir,filename)
filesize = os.path.getsize(fullname)
allsize.append((filesize,fullname)) allsize.sort(key= lambda x:x[0])
pprint.pprint(allsize[-2:])
3. 扫描模块搜索路径
通过sys.path来查找,sys.path包含了所有导入的模块
import sys
import os
import pprint allSize = []
visited = {}
for srcDir in sys.path:
for(curDir, subDir, fileHere) in os.walk(srcDir):
curDir = os.path.normpath(curDir)
fixCase = os.path.normcase(curDir)
if fixCase in visited:
continue
else:
visited[fixCase] = True
for filename in fileHere:
if filename.endswith('.py'):
pypath = os.path.join(curDir, filename)
try:
pysize = os.path.getsize(pypath)
except os.error as e:
print(e)
else:
pylines = len(open(pypath, 'rb').readlines())
allSize.append((pysize, pylines, pypath)) allSize.sort(key=lambda x:x[0])
pprint.pprint(allSize[-2:])
python 小程序 查找最大的python文件的更多相关文章
- Python 小程序,对文件操作及其它
以下是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比方说,从文件里读取一行数据.分别存放于列表中,再对列表进行操作.如去掉里面的反复项.排序等操作. 常见对文件里行 ...
- 怎么样通过编写Python小程序来统计测试脚本的关键字
怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...
- Day1:第一个python小程序
Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...
- 小程序页面的四种文件(JSON、WXML、WXSS、JS)加载顺序
一个小程序页面由四种文件组成: 1)json 页面配置文件 2)js 页面逻辑文件(必需) 3)wxml 页面结构文件(必需) 4)wxss 页面样式文件 这四个文件的加载顺序: 第一步: 加载页面j ...
- 小程序使用 Promise.all 完成文件异步上传
小程序使用 Promise.all 完成文件异步上传 extends [微信小程序开发技巧总结(二) -- 文件的选取.移动.上传和下载 - Kindear - 博客园 (cnblogs.com)] ...
- python 小程序,替换文件中的字符串
[root@PythonPC ~]# cat passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x: ...
- 一个有意思的Python小程序(全国省会名称随机出题)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 最近比较迷Python,仿照<Python编程快速上手>8.5写了一个随机出卷的小 ...
- 【转】我的第一个Python小程序
原文网址:http://blog.csdn.net/randyqiu/article/details/4484089 人的每个第一次都有点特别的意义,所以下面这个小程序我把他记录下来做个纪念. 因为要 ...
- 写一个python小程序
在windows环境下进行操作 window+R 输入cmd 创建一个文件夹 mkdir pytxt 创建一个py文件 py.py 用notepad或者记事本等工具进行编辑 或 首先声明pytho ...
随机推荐
- 4种scope方法
默认作用域,自动加载: default_scope { order(created_at: :desc) } model 调用 find_2时才运行 scope :find_2, ->{ whe ...
- Android ActionBar 初探
1.指南,例子,个人感觉 首先上官网指南链接http://developer.android.com/guide/topics/ui/actionbar.html 参考了官网上的例子http://de ...
- 搭建Apache Web服务器
1.下载Apache服务器的安装包 地址:http://httpd.apache.org/download.cgi 从http://archive.apache.org/dist/httpd/bina ...
- Fedora下依赖库的解决
转载于http://blog.sina.com.cn/s/blog_6f74890d0101dpp4.html x86_64版本的fedora中打开共享对象文件失败的解决小技巧———以qq for l ...
- [BZOJ1014][JSOI2008]火星人prefix
[BZOJ1014][JSOI2008]火星人prefix 试题描述 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字 ...
- redis实战(01)_redis安装
早就想对redis进行实战操作了,最近看了一些视频和参考书籍,总结总结一下,redis实战内容: 实战前先对redis做一个大概的认识: 现在开始安装redis了... redis的安装下载地址 ht ...
- 对偶SVM
1.对偶问题的推导 为什么要求解对偶问题?一是对偶问题往往更容易求解,二是可以自然的引入核函数. 1.1 用拉格朗日函数将原问题转化为"无约束"等价问题 原问题是: 写出它的拉格朗 ...
- 解决Unsupported major.minor version 51.0错误
解决Unsupported major.minor version 51.0错误使用jdk6运行项目时发生了Unsupported major.minor version 51.0错误.经过网上搜索发 ...
- MMAP和DIRECT IO区别
看完此文,题目不言自明.转自 http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的东西,技术人员非常关 ...
- Linux kilin 安装和按键服务器步骤
U盘启动,傻瓜式安装 设置root 密码 sudo passwd root vsftpd和ssh服务 使用apt-get可以直接安装vsftpd和ssh,首先要sudo apt-get update ...