最近工作需要学习python,但是平时自己太过偷懒,特此开这么一个分类来督促自己多多学习python,文章基本都会是转帖过来,可能会有一部分自己的整理,权当记事本了。
1. 以最少的代码行数,统计文件的行数以“#”开头的注释行,以及空行都不统计。
第一种:常规方式
- count =0
- f =open(fn,"rU").readlines()
- for i in f:
- if i.startswith("#") or i.startswith("\n") :
- count+=1
- return len(f)-count
第二种:lamba表达式
- a=len(list((lambda x: x.startswith('\n') or x.startswith('#') for i in open ('eg','r'))))
- print a
2. 使用python去顶文件的MIME类型
使用第三方库gio:
- gio_file = gio.File("/your/path/file")
- gio_file_info = gio_file.query_info(",".join([
- gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
- gio.FILE_ATTRIBUTE_STANDARD_TYPE, gio.FILE_ATTRIBUTE_STANDARD_NAME, gio.FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, gio.FILE_ATTRIBUTE_STANDARD_SIZE, gio.FILE_ATTRIBUTE_STANDARD_ICON, gio.FILE_ATTRIBUTE_TIME_MODIFIED, gio.FILE_ATTRIBUTE_TIME_CHANGED,]))
- info_attr = gio_file_info.get_attribute_as_string(gio.FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE)
- type_description = gio.content_type_get_description(info_attr)
- # 如果是mp3类型的, info_attr="auido/mpeg", type_description="MP3 音频"