模块的分类:
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,路径损坏返回Falseos.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,路径损坏也返回Trueos.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 import getpass2 3 print getpass.getuser()4 name = raw_input("input your name:")5 passwd = getpass.getpass("Pls input your pwd:")6 7 print name8 print passwd
附:根据用户登陆后自动获取即时聊天软件Spark的用户名和服务器脚本。
#!/usr/bin/python# coding:utf-8import osimport sysimport platformimport getpassusername = 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" %homespark_config = "%s/spark.properties" %spark_home #设置spark配置文件def add_account(): content = """ username = %s server = chat.base-fx.com passwordSaved=true """ %username with open(spark_config,‘w’) as f: #与入要设置的内容 f.write(content)if os.path.exists(spark_config): #判断配置文件是否存在。如果并用户名不在里面则添加 with open(spark_config,'r') as f: content = f.read() if username not in content: add_account()else: os.path.mkdirs(spark_home) #配置文件不存在,创建配置文件并添加内容 add_account()