您的位置:首页 > 编程语言 > Python开发

Python之模块介绍

2016-07-25 16:16 495 查看
模块:用一段代码实现了某些功能的代码集合。

Python模块分为三种:
自定义模块

内置标准模块

开源模块

os模块:提供对操作系统进行调用的接口,以下是方法

os.getcwd() :获取当前工作目录,即当前python脚本工作的目录路径
示例:
>>> import os
>>> path = os.getcwd()
>>> print path
/Users/zenge


os.chdir("dirname") 改变当前脚本工作目录,相当于cd。
>>> print os.getcwd()
/Users/zenge/Downloads
>>> new_path = os.chdir("/Users/zenge")
>>> print os.getcwd()
/Users/zenge


os.curdir 返回当前目录:('.')

os.pardir 返回当前目录的父目录字符串名(‘..’)
示例:
>>> print os.pardir
..


os.makedirs('dirname1/dirname2') 可生成多层递归目录
>>> import os
>>> os.makedirs('aaa/bbb')


os.removedirs('dirname1/dirname2') : 若目录为空,则删除,并递归到上一级目录,如果上一级目录也为空,则一并删除

>>> os.mkdir('aaaa'):生成单级目录,相当于linux命令mkdir

>>> os.listdir('aaaa'):列出目标目录下的所有文件和目录
['b', 'test', 'a', 'c']
root@localhost:~/aaaa# ls
a  b  c  test


os.remove() 删除一个文件:
os.remove('txt')


os.rename("oldname","newname"): 重命名一个目录/文件,如果新的文件名存在则报错

os.stat('path/filename'): 获取文件、目录信息
>>> os.stat('install.log')
posix.stat_result(st_mode=33188, st_ino=262146, st_dev=64768L, st_nlink=1, st_uid=0, st_gid=0, st_size=9795, st_atime=1449083485, st_mtime=1449083572, st_ctime=1449083575)


os.sep:输出操作系统特定的路径分隔符,win下为“\\”,linux下为"/"
>>> os.sep
'/'


os.linesep:输出当前平台使用的行终止符,win下为“\t\n”,linux下为'\n'

>>> os.linesep
'\n'


os.pathsep 输出用于分割文件路径的字符串
>>> os.pathsep
':'


os.name 输出字符串指示当前使用平台。win->'nt',linux->‘posix’
>>> os.name
'posix'


os.system("bash command"): 运行linux命令。
>>> os.system('ls')
aa.py            apache-ant-1.9.6-bin.tar.gz  git-2.6.4         install.log         jenkins.war
anaconda-ks.cfg  epel-release-6-8.noarch.rpm  git-2.6.4.tar.gz  install.log.syslog
0


os.environ 获取系统环境变量
>>> os.environ
{'LESSOPEN': '||/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '172.16.101.215 54940 22', 'CVS_RSH': 'ssh', 'LOGNAME': 'root', 'USER': 'root', 'MAVEN_HOME': '/usr/local/apache-maven', 'PATH': '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk1.8.0_66/bin:/usr/local/apache-maven/bin:/root/bin:/usr/local/git/bin:/root/bin', 'LANG': 'en_US.UTF-8', 'TERM': 'linux', 'SHELL': '/bin/bash', 'SHLVL': '1', 'G_BROKEN_FILENAMES': '1', 'HISTSIZE': '1000', 'JAVA_HOME': '/usr/local/jdk1.8.0_66', 'HOME': '/root', 'CLASSPATH': '.:/usr/local/jdk1.8.0_66/lib:/usr/local/jdk1.8.0_66/jre/lib', 'JRE_HOME': '/usr/local/jdk1.8.0_66/jre', '_': '/usr/bin/python', 'SSH_CONNECTION': '172.16.101.215 54940 10.10.10.201 22', 'ANT_HOME': '/usr/local/ant', 'SSH_TTY': '/dev/pts/1', 'HOSTNAME': 'localhost.localdomain', 'HISTCONTROL': 'ignoredups', 'PWD': '/root', 'MAIL': '/var/spool/mail/root', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'}


os.path.abspath(path) 返回path规范化的绝对路径,文件不存在也会有输出结果
>>> os.path.abspath('aa.sh')
'/root/aa.sh'


os.path.split(path) 返回path分割成目录和文件名二元组返回。
>>> os.path.split('aa.sh')
('', 'aa.sh')
>>> os.path.split('/aa.sh')
('/', 'aa.sh')
>>> os.path.split('/etc/aa.sh')
('/etc', 'aa.sh')


os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)

>>> os.path.basename('/root/aa.py')
'aa.py'
>>> os.path.basename('/root/aa.py/no')
'no'


os.path.exists(path) 如果path存在,返回True,如果不存在,返回False
>>> os.path.exists('aa')
False
>>> os.path.exists('/root')
True


os.path.isabs(path):如果path是绝对路径在返回True,否则返回False
>>> os.path.isabs('aa.py')
False
>>> os.path.isabs('/aa.py')
True


os.path.isfile(path): 如果path是一个存在的文件,则返回True,否则返回False, 该方法会判断文件是否存在
>>> os.path.isfile('aa.py')
True
>>> os.path.isfile('/aa.py')
False


os.path.isdir(path): 如果path是一个存在的目录,则返回True,否则返回False

>>> os.path.isdir('/root')
True
>>> os.path.isdir('/abc')
False


os.path.join(path1[,path2[, ...) :将多个路径组合后返回,第一个

os.path.getatime(path): 返回path所指向的文件或者目录的存取时间
>>> os.path.getatime('aa.py')
1456380205.4800851


os.path.getmtime(path) 返回path所指向的文件或者目录的的最后修改时间
>>> os.path.getmtime('aa.py')
1456374256.7410889
>>> os.path.getmtime('zabbix')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/genericpath.py", line 54, in getmtime
return os.stat(filename).st_mtime
OSError: [Errno 2] No such file or directory: 'zabbix'


os.popen('command').read() : 获取命令结果,不带命令执行状态

>>> a=os.popen('ls').read()
>>> print a
aa.py
anaconda-ks.cfg
apache-ant-1.9.6-bin.tar.gz
epel-release-6-8.noarch.rpm
git-2.6.4
git-2.6.4.tar.gz
install.log
install.log.syslog
jenkins.war


sys模块
sys.argv :命令行参数list,第一个元素是程序本身

sys.exit(n): 退出程序,正常退出时exit(0)

sys.version:获取Python解释程序的版本信息

sys.maxint:最大的Int值

sys.path: 返回模块的的搜索路径,初始化时使用python

sys.platform:返回操作系统平台名称

sys.stout.write('please: ')

val=sys.stdin.readline()[:-1]

本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1829694
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: