模块

模块与包的管理

模块

  • 模块实质上就是一个以.py结尾的文件,可以被其他py文件调用;
  • 导入模块时,会去python的默认搜索路径中寻找;
  • python的默认搜索路径sys.path
  • 添加自定义的搜索路径时,sys.path是一个列表,
    sys.apth.append(“path”);
    - sys.path.append(“/home/kiosk/1-Pythonv3/day08/code”)
    - sys.path.insert(0,’/home/kiosk’)
  • 导入一个模块的实质是将模块的文件重新运行一次;
  • 导入模块的方法:
    import module1,module2
    from 模块名 import 函数名
    from 模块名 import 函数名 as 函数别名
    import 模块名 as 函数别名

  • 导入一个包的实质是运行包里面的init.py文件;
  • 导入包的方法:
    import 包名
    from 包名 import 模块名
    import 包名(注意init.py函数的内容)
    常用的两种方法:
    1>在调用模块:
    from 包 import 模块
    访问:模块.函数()
    2>被调模块:
    init.py中:import 模块
    调用模块:
    import 包
    访问:包.模块.函数()
    • 其他包中的模块

      import sys
      sys.path.append("包的绝对路径")
      import logout #导入模块
      print logout.logout()

模块分类:

- 内置模块(os,sys,time)
- 自定义模块
- 第三方模块 #开源

微信男女统计:

import itchat
itchat.login()
# itchat.send("hello","filehelper")

itchat.auto_login(hotReload=True)
friends=itchat.get_friends(update=True) #列表
print friends
male=female=other=0
for i in friends[1:]:
    sex=i["Sex"]
    if sex==1:
        male+=1
    elif sex==2:
        female+=1
    else:
        other+=1

print "男:%d"%male
print "女:%d"%female
print "其他:%d"%other
print len(friends)

常用的内置模块

os,sys,time,datetime,json/pickle,shutil,random
例:统计/var/log下以.log结尾的文件。

import os
filename=raw_input("please input filename:")
f=open(filename,"w+")
for file in os.listdir("/var/log/"):
    if file.endswith(".log"):
        f.write(file+"\n")
f.seek(0,0)
print f.read()
f.close()

模块_第1张图片

你可能感兴趣的:(python,python)