模块的分类:
1.内置模块(python自带的比如像os,sys等模块)
2.自定义模块,自己写的一些模块
3.第三方模块(开源模块)
模块导入:
1.import sys # 导入sys模块下面的全部方法
2.from sys import path # 导入sys模块下面的方法
3.from sys import path as pt # 当模块名较长的时候可以使用as创建一个比较短的别名,使用这个别名等于使用模块
1. sys模块
只列出比较常用的模块
sys.argv #命令行参数List,第一个元素是程序本身路径
sys.path #返回模块的搜索路径,初始化时使用python环境变量的值
sys.platform #返回操作系统平台名称,"win3" "linux"
sys.exit(num) #退出程序,正常退出时exit(0) 调试程序时会用到
sys.modules #返回已导入的模块
sys.version #返回python解释程序的版本信息
2. OS模块
os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
os.system('ipconfig') #运行shell命令,直接显示
os.environ #获取系统的环境变量
os.chdir('dirname') #改变当前脚本的工作目录,相当于shell下的cd os.curdir #返回当前目录:('.')
os.name #输出字符串指示当前使用平台。win=>'nt';linux=>'posix'
os.pardir #返回当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') #可生成多层递归目录
os.removedirs('dirname1/dirname2') #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推(删除多级空目录)
os.mkdir('dirname') #生成单级空目录,相当于shell中的mkdir dirname
os.rmdir('dirname') #删除单级空目录,如目录不为空则无法删除,报错;相当于shell中的rmdir dirname
os.listdir() #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove('test') #删除一个文件,文件不存在报错
os.rename('file','file_123') #重命名文件/目录
os.stat('file') #获取文件/目录属性信息
os.linesep #输出当前平台使用的行终止符,win下为'\r\n',linux下为'\n'
3. os.path模块
os.path.basename(path) #返回文件名
os.path.exists(path) #路径存在则返回True,路径损坏返回False
os.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户目录
os.path.dirname(path) #返回文件路径
os.path.isabs(path) #判断是否为绝对路径
os.path.isfile(path) #判断路径是否为文件
os.path.isdir(path) #判断路径是否为目录
os.path.islink(path) #判断路径是否为链接
os.path.ismount(path) #判断路径是否为挂载点()
os.path.abspath(path) #返回绝对路径
os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
os.path.lexists #路径存在则返回True,路径损坏也返回True
os.path.expandvars(path) #根据环境变量的值替换path中包含的”$name”和”${name}”
os.path.getatime(path) #返回最后一次进入此path的时间。
os.path.getmtime(path) #返回在此path下最后一次修改的时间。
os.path.getctime(path) #返回path的大小
os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误
os.path.join(path1[, path2[, ...]]) #把目录和文件名合成一个路径
os.path.normcase(path) #转换path的大小写和斜杠
os.path.normpath(path) #规范path字符串形式
os.path.realpath(path) #返回path的真实路径
os.path.relpath(path[, start]) #从start开始计算相对路径
os.path.samefile(path1, path2) #判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path) #把路径分割成dirname和basename,返回一个元组
os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path) #把路径分割为加载点与文件
os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有
4. platform模块
platform.system() #获取操作系统类型,windows、linux等
platform.platform() #获取操作系统信息,'Linux-3.10.0-327.10.1.el7.x86_64-x86_64-with-centos-7.2.1511-Core'
platform.version() #获取系统版本信息
platform.mac_ver() #获取MAC系统版本信息
platform.win32_ver() #获取Wins系统版本信息
platform.node() #计算机名称
platform.uname() #所有关于计算机机信息汇总
platform.mac_ver() #获取MAC系统版本信息
platform.win32_ver() #获取Wins系统版本信息
4. getpass模块
getpass模块提供了可移植的密码输入,一共包括下面两个函数:
getpass.getpass() #以不显示的方式获取当前用户输入的信息
getpass.getuser() #获取当前用户的名称
1 importgetpass2
3 printgetpass.getuser()4 name = raw_input("input your name:")5 passwd = getpass.getpass("Pls input your pwd:")6
7 printname8 print passwd
getpass示例
附:根据用户登陆后自动获取即时聊天软件Spark的用户名和服务器脚本。
#!/usr/bin/python#coding:utf-8
importosimportsysimportplatformimportgetpass
username= getpass.getuser() #获取当前登陆用户名
home = os.path.expanduser('~') #获取当面用户家目录
sysstr=platform.system() #获取系统类型if sysstr == "Windows":
spark_home= "%s/AppDate/Roaming/Spark" %home #设置spark软件安装目录else:
spark_home= "%s/.Spark" %home
spark_config= "%s/spark.properties" %spark_home #设置spark配置文件defadd_account():
content= """username = %s
server = chat.base-fx.com
passwordSaved=true""" %username
with open(spark_config,‘w’) as f: #与入要设置的内容
f.write(content)ifos.path.exists(spark_config): #判断配置文件是否存在。如果并用户名不在里面则添加
with open(spark_config,'r') as f:
content=f.read()if username not incontent:
add_account()else:
os.path.mkdirs(spark_home) #配置文件不存在,创建配置文件并添加内容
add_account()
翠花,上酸菜