python脚本: 双向统计文件字符、单词数、行数

#!/usr/bin/python

import sys

import os

if len(sys.argv) == 1:

data = sys.stdin.read()

else:

try:

fn = sys.argv[1]

except IndexError:

print "please follow a argument at %s" %__file__

sys.exit()

if not os.path.exists(fn):

print "%s is not exits." %fn

sys.exit()

fd = open(sys.argv[1])

data = fd.read()

chars = len(data)

words = len(data.split())

lines = data.count(‘\n‘)

print "%(lines)s %(words)s %(chars)s" %locals()

时间: 2024-10-12 12:30:36

python脚本: 双向统计文件字符、单词数、行数的相关文章

Linux统计文件个数或是代码行数

统计指定后缀名的文件总个数命令: find . -name *.cpp | wc -l 统计一个目录下代码总行数以及单个文件行数: find . -name *.h | xargs wc -l linux统计文件夹中文件数目 第一种方法: ls -l|grep “^-”|wc -l ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录.链接.设备文件等).如果ls -lR|grep “^-”|wc-l则可以连子目录下的文件一起统计. grep ^- 这里将长列表输

Java关于条件判断练习--统计一个src文件下的所有.java文件内的代码行数(注释行、空白行不统计在内)

要求:统计一个src文件下的所有.java文件内的代码行数(注释行.空白行不统计在内) 分析:先封装一个静态方法用于统计确定的.java文件的有效代码行数.使用字符缓冲流读取文件,首先判断是否是块注释开头,接着判断是否是块注释结尾,再判断是否是单行注释或者空白行,若都不是则是有效代码,统计行数+1. 对于文件夹路径,采用递归的方法判断子条目是文件还是文件夹,是文件就调用静态统计方法.源代码: public class CalculateRow { public static void main(

【原】Mac下统计任意文件夹中代码行数的工具——cloc

这里介绍一个Mac系统统计代码行数的工具cloc. 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码,按照提示进行操作即可: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.利用homebrew下载并安装cloc. 继续在Terminal中输入: brew

扫描文件夹下代码行数

突发奇想,     想知道项目里有多少行代码.花了一点时间写了个初步的demo,原理很简单,扫描项目src目录,拿到所有的文件按行读取,每读取一行,累计加1. 难      点:    如何跳过目录以及获得目录下的文件和下一级目录,这里用递归比较好. 不足之处:    不支持识别注释,不支持识别代码提交者,不支持时间分类,文件类型分类,不支持总字符统计. 改进方式:   单行注释比较容易,trim一下判断是否以 // 开头,或者用正则匹配一下,多行就有点麻烦了,可能要读取整个文件内容,然后通过正

统计工程内的代码行数

using UnityEngine; using System.Collections; using UnityEditor; using System.Collections.Generic; using System.IO; /// <summary> /// 统计工程内的代码行数 /// </summary> public class CodeCounter { [MenuItem("Tools/统计工程内的代码行数")] public static vo

Oracle统计用户所有表的行数

DECLARE   CURSOR c1 is select table_name from user_tables;   V_TABLE_NAME user_tables.TABLE_NAME%TYPE;   V_CNT number;   V_SQL varchar2(2000); BEGIN   FOR V_TABLE_NAME in c1 loop      V_SQL := 'select count(1) from ' || V_TABLE_NAME.table_name;      

python脚本修改hosts文件

记一次使用python脚本来修改hosts文件,由于公司服务器需要换ip地址,服务器里都是Linux系统,而hosts文件中有些解析的ip,手动一台一台的解析太麻烦,就写了这个脚本.本来以为感觉很简单,但是写的过程真不好写,也试过shell脚本,不过也不好写.然后就直接用python写,也找了一些网上的教程,不过也没有很好的解决问题.下面把脚本贴出来记录下 #!/usr/bin/python #coding:utf8 import os import sys import re hostsfil

Linux统计目录下文件个数及代码行数

1. 统计当前目录下,php文件数量 find ./ -name "*.php" | wc -l 2. 统计当前目录下所有php文件代码行数 find ./ -name "*.php" | xargs cat | wc -l 或者 wc -l `find ./ -name "*.php"` | tail -n1 命令说明 wc -l `find ./ -name "*.php"` 输出结果 行数 | 文件 1 ./test.p

统计代码git提交的行数

$ git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' - 统计某人的代码提交量,包括增加,删除