python常见模块命令os,sys,shutil
python常见模块命令os,sys,shutil
os模块:提供了对⽬录或者⽂件的新建/删除/查看⽂件属性,还提供了对⽂件以及⽬录的路径操作。⽐如说:绝对路径,⽗⽬录…… shutil模块:对os中⽂件操作的补充。–移动 复制 打包 压缩 解压功能
sys模块:包含了与Python解释器和它的环境有关的函数
1.常⽤内置函数:(不⽤import就可以直接使⽤)
help(obj) 在线帮助, obj可是任何类型
callable(obj) 查看⼀个obj是不是可以像函数⼀样调⽤
repr(obj) 得到obj的表⽰字符串,可以利⽤这个字符串eval重建该对象的⼀个拷贝
eval_r(str) 表⽰合法的python表达式,返回这个表达式
dir(obj) 查看obj的name space中可见的name
hasattr(obj,name) 查看⼀个obj的name space中是否有name
getattr(obj,name) 得到⼀个obj的name space中的⼀个name
setattr(obj,name,value) 为⼀个obj的name space中的⼀个name指向vale这个object
delattr(obj,name) 从obj的name space中删除⼀个name
vars(obj) 返回⼀个object的name space。⽤dictionary表⽰
locals() 返回⼀个局部name space,⽤dictionary表⽰
globals() 返回⼀个全局name space,⽤dictionary表⽰
type(obj) 查看⼀个obj的类型
isinstance(obj,cls) 查看obj是不是cls的instance
issubclass(subcls,supcls) 查看subcls是不是supcls的⼦类
类型转换函数
chr(i) 把⼀个ASCII数值,变成字符
ord(i) 把⼀个字符或者unicode字符,变成ASCII数值
oct(x) 把整数x变成⼋进制表⽰的字符串
hex(x) 把整数x变成⼗六进制表⽰的字符串
str(obj) 得到obj的字符串描述
list(seq) 把⼀个sequence转换成⼀个list
tuple(seq) 把⼀个sequence转换成⼀个tuple
dict(),dict(list) 转换成⼀个dictionary
int(x) 转换成⼀个integer
long(x) 转换成⼀个long interger
float(x) 转换成⼀个浮点数
complex(x) 转换成复数
max(...) 求最⼤值
min(...) 求最⼩值
⽤于执⾏程序的内置函数
complie 如果⼀段代码经常要使⽤,那么先编译,再运⾏会更快。
2.和操作系统相关的调⽤
系统相关的信息模块 import sys
sys.argv是⼀个list,包含所有的命令⾏参数.
sys.stdout sys.stdin sys.stderr 分别表⽰标准输⼊输出,错误输出的⽂件对象.
adline() 从标准输⼊读⼀⾏ sys.stdout.write("a") 屏幕输出a
sys.platform 得到运⾏的操作系统环境
sys.path 是⼀个list,指明所有查module,package的路径.
操作系统相关的调⽤和操作 import os
os.setegid os.setegid() os.seteuid() os.setuid()
os.putenv 设置环境变量
os.umask 设置umask
os.system(cmd) 利⽤系统调⽤,运⾏cmd命令
操作举例:
os.mkdir('/tmp/xx') os.system("echo 'hello' > /tmp/") os.listdir('/tmp/xx')
⽤python编写⼀个简单的shell
#!/usr/bin/python
import os, sys
cmd = adline()
while cmd:
os.system(cmd)
cmd = adline()
⽤os.path编写平台⽆关的程序
os.path.abspath("1.txt") == os.path.wd(), "1.txt")
os.path.wd()) ⽤于分开⼀个⽬录名称中的⽬录部分和⽂件名称部分。
os.path.wd(), os.pardir, 'a', 'a.doc') 全成路径名称.
os.pardir 表⽰当前平台下上⼀级⽬录的字符 ..
ime("/")  返回1.txt的ctime(创建时间)时间戳
wd()) 判断⽂件是否存在
panduser('~/dir') 把~扩展成⽤户根⽬录
pandvars('$PATH') 扩展环境变量PATH
os.path.wd()) 判断是否是⽂件名,1是0否
os.path.isdir('c:\Python26\temp') 判断是否是⽬录,1是0否
os.path.islink('/home/huaying/111.sql') 是否是符号连接 windows下不可⽤
os.path.wd()) 是否是⽂件系统安装点 windows下不可⽤
os.path.wd(), '/home/huaying') 看看两个⽂件名是不是指的是同⼀个⽂件
os.path.walk('/home/huaying', test_fun, "a.c")
遍历/home/huaying下所有⼦⽬录包括本⽬录,对于每个⽬录都会调⽤函数test_fun.
例:在某个⽬录中,和他所有的⼦⽬录中查名称是a.c的⽂件或⽬录。
def test_fun(filename, dirname, names): //filename即是walk中的a.c dirname是访问的⽬录名称
if filename in names: //names是⼀个list,包含dirname⽬录下的所有内容
python解释器下载print os.path.join(dirname, filename)
os.path.walk('/home/huaying', test_fun, "a.c")
3、shutil功能:
pyfileobj(fsrc, fdst[, length=16*1024]) #copy⽂件内容到另⼀个⽂件,可以copy指定⼤⼩的内容
pyfile(src,dst) #copy⽂件内容,是不是感觉上⾯的⽂件复制很⿇烦?还需要⾃⼰⼿动⽤open函数打开⽂件,在这⾥就不需要了,事实上,copyfile调⽤了copyfileobj
pymode(src,dst) #仅copy权限,不更改⽂件内容,组和⽤户。
pystat(src,dst) #复制所有的状态信息,包括权限,组,⽤户,时间等.
py(src,dst) #复制⽂件的内容以及权限,先copyfile后copymode
py2(src,dst) #复制⽂件的内容以及⽂件的所有状态信息。先copyfile后copystat
pytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,ignore_dangling_symlinks=False) #递归的复制⽂件内容及状态信息
(path, ignore_errors=False, οnerrοr=None) #递归地删除⽂件
ve(src, dst) #递归的移动⽂件
10)make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None) #压缩打包

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。