最近工作需要學習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 音頻"