linux下查找并删除

2010年2月8日 admin 没有评论

find ./ –name *~ | xargs rm –f Read More...

分类: 编程技术 标签: , ,

indent格式化目录下的程序文件(含indent配置)

2010年2月5日 admin 没有评论
一段python脚本,整理指定目录下的所有.cpp,.h,.c文件
python代码
import os
import sys
def walk_dir(dir,fileinfo,topdown=True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
ext = os.path.splitext(os.path.join(name) )[1].lower()
if ext == ‘.cpp’ or ext == ‘.h’ or ext == ‘.c’:
print( os.path.join(name))
os.system( ‘indent ‘ + os.path.join(root, name) )
fileinfo.write( ‘  ’ + os.path.join(root, name) + ‘\n’)
#
#        for name in dirs:
#            print( os.path.join(name))
#            fileinfo.write(’  ’ + os.path.join(root,name) + ‘\n’)
dir = raw_input(’please input the path:’)
fileinfo = open(’list.txt’,'w’)
walk_dir(dir,fileinfo)
indent配置
-bad -bap -bbb -bbo -nbc -bl -bli0 -bls -c33 -cd33 -ncdb -ncdw -nce -cli0 -cp33 -cs -d0 -nbfda -di2 -nfc1 -nfca -hnl -ip5 -l80 -lp -prs -psl -saf -sai -saw -nsc -nsob -nss -i4 -ts4 -nut -npcs
indent参数 值 含义
–blank-lines-after-declarations  bad  变量声明后加空行
–blank-lines-after-procedures  bap  函数结束后加空行
–blank-lines-before-block-comments  bbb  块注释前加空行
–break-before-boolean-operator  bbo  较长的行,在逻辑运算符前分行
–blank-lines-after-commas  nbc  变量声明中,逗号分隔的变量不分行
–braces-after-if-line  bl  ”if”和”{”分做两行
–brace-indent 0  bli0  ”{”不继续缩进
–braces-after-struct-decl-line  bls  定义结构,”struct”和”{”分行
–comment-indentationn  c33  语句后注释开始于行33
–declaration-comment-columnn  cd33  变量声明后注释开始于行33
–comment-delimiters-on-blank-lines  ncdb  不将单行注释变为块注释
–cuddle-do-while  ncdw  ”do — while”的”while”和其前面的”}”另起一行
–cuddle-else  nce  ”else”和其前面的”}”另起一行
–case-indentation 0  cli0  switch中的case语句所进0个空格
–else-endif-columnn  cp33  #else, #endif后面的注释开始于行33
–space-after-cast  cs  在类型转换后面加空格
–line-comments-indentation n  d0  单行注释(不从1列开始的),不向左缩进
–break-function-decl-args  nbfda  关闭:函数的参数一个一行
–declaration-indentationn  di2  变量声明,变量开始于2行,即不必对齐
–format-first-column-comments  nfc1  不格式化起于第一行的注释
–format-all-comments  nfca  不开启全部格式化注释的开关
–honour-newlines  hnl  Prefer to break long lines at the position of newlines in the input.
–indent-leveln  i4  设置缩进多少字符,如果为tab的整数倍,用tab来缩进,否则用空格填充。
–parameter-indentationn  ip5  旧风格的函数定义中参数说明缩进5个空格
–line-length 75  l75  非注释行最长75
–continue-at-parentheses  lp  续行从上一行出现的括号开始
–space-after-procedure-calls  pcs  函数和”(”之间插入一个空格
–space-after-parentheses  nprs  在”(”后”)”前不插入空格
–procnames-start-lines  psl  将函数名和返回类型放在两行定义
–space-after-for  saf  for后面有空格
–space-after-if  sai  if后面有空格
–space-after-while  saw  while后面有空格
–start-left-side-of-comments  nsc  不在生成的块注释中加*
–swallow-optional-blank-lines  nsob  不去掉可添加的空行
–space-special-semicolon  nss  一行的for或while语句,在”;”前不加空。
–tab-size  ts4  一个tab为4个空格(要能整除”-in”)
–use-tabs  ut  使用tab来缩进
Python遍历目录
Python的os模块,包含了普遍的操作系统功能,这里主要学习与路径相关的函数:
os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录
os.curdir:返回当前目录(’.')
os.chdir(dirname):改变工作目录到dirname
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
os.path.splitext():分离文件名与扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径
1、os.path方法
通过传入需要遍历的目录,列出目录下的所有文件并统计文件数,os提供的path模块能对目录非常灵活的操作。
import os,sys
def listdir(dir,file):
file.write(dir + ‘\n’)
fielnum = 0
list = os.listdir(dir)  #列出目录下的所有文件和目录
for line in list:
filepath = os.path.join(dir,line)
if os.path.isdir(filepath):  #如果filepath是目录,则再列出该目录下的所有文件
myfile.write(’   ‘ + line + ‘\\’+'\n’)
for li in os.listdir(filepath):
myfile.write(’     ‘+li + ‘\n’)
fielnum = fielnum + 1
elif os.path:   #如果filepath是文件,直接列出文件名
myfile.write(’   ‘+line + ‘\n’)
fielnum = fielnum + 1
myfile.write(’all the file num is ‘+ str(fielnum))
dir = raw_input(’please input the path:’)
myfile = open(’list.txt’,'w’)
2、os.walk方法
os模块提供的walk方法很强大,能够把给定的目录下的所有目录和文件遍历出来。
方法:os.walk(path),遍历path,返回一个对象,他的每个部分都是一个三元组,(’目录x’,[目录x下的目录list],目录x下面的文件)
import os
def walk_dir(dir,fileinfo,topdown=True):
for root, dirs, files in os.walk(dir, topdown):
for name in files:
print(os.path.join(name))
fileinfo.write(os.path.join(root,name) + ‘\n’)
for name in dirs:
print(os.path.join(name))
fileinfo.write(’  ’ + os.path.join(root,name) + ‘\n’)
dir = raw_input(’please input the path:’)
fileinfo = open(’list.txt’,'w’)
walk_dir(dir,fileinfo)
topdown决定遍历的顺序,如果topdown为True,则先列举top下的目录,然后是目录的目录,依次类推,反之,则先递归列举出最深层的子目录,然后是其兄弟目录,然后子目录。

一段python脚本,整理指定目录下的所有.cpp,.h,.c文件 Read More...

分类: 原创作品, 编程技术 标签:

给家人弄了台电脑,下载点东西带回去看

2010年2月2日 admin 1 条评论

熊哥送了我台笔记本,哈哈,真是太感谢了。我其实一直想着给家里弄台电脑的。 Read More...

分类: 程序人生 标签:

Windows漏洞检测的一些资料

2010年2月2日 admin 没有评论

独孤求败说的: wsus,wuapi Read More...

分类: 编程技术 标签: ,

DoxygenToolkit-VIM中自动生成Doxygen格式的注释

2010年1月30日 admin 没有评论

下载地址:
http://www.vim.org/scripts/script.php?script_id=987 Read More...

分类: 编程技术 标签:

得,续个上海居住证还真麻烦

2010年1月25日 admin 没有评论

这次是续办居住证,第一次办的时候是公司给办的,用的是公司的宿舍地址,后来离开那家公司到了现在的公司,以前的那个地址就不让我用了。 Read More...

分类: 默认分类 标签: ,

Test post

2010年1月24日 admin 没有评论

Python is the best programming language in the earth ! Read More...

分类: 默认分类 标签:

ubuntu安装wxpython

2010年1月22日 admin 没有评论
<code>sudo apt-get install python-wxtools

安装python:sudo apt-get install python

今天学了一招,sudo apt-cache search xxx,搜索软件源
</code>

Technorati 标签: , , Read More...

分类: 编程技术 标签:

vim中使用脚本添加注释

2010年1月21日 admin 没有评论

“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”
“ 文件注释
” 在文件的第一行插入文件名称
” 接下来插入作者信息,最后修改日期、描述
“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”
function AddFileDesc()
  call setline( 1, “// ” . expand(”%”) )
  call append( 1, “” )
  call append( 2, “/*===============================================” )
  call append( 3, “* Author: Henry.WU (henry.cpp@gamil.com)”)
  call append( 4, “* ” . “Last modified: ” . strftime(”%Y-%m-%d %H:%M”))
  call append( 5, “* Description: “)
  call append( 6, “===============================================*/” )
endf Read More...

分类: 默认分类 标签:

linux boost编译

2010年1月21日 admin 没有评论

ubuntu系统下的boost编译,记录一下。 Read More...

分类: 默认分类 标签:
Pages: 1 2 3 4 5 6 7 Next